カテゴリー別アーカイブ: 統計学

Perl Data Language 統計編 #03 「累積相対度数グラフ」

データ↓
http://www.tokyo-tosho.co.jp/download/DL02122.zip

問1.1の4)はPDL::IO::Misc::rcols でCSVファイルから平均気温のデータのとこだけ抜き出して、相対度数を計算してグラフに出力という流れです。

sc4-2

Perl Data Language 統計編 #02 「度数分布表と棒グラフ」

http://www.tokyo-tosho.co.jp/download/DL02122.zip

↑のデータを使って実際の問題も解いていきましょう。
まずは第1章の練習問題の2)から。

度数分布表はPDLを使わずにテキストで出力しました。
CSVの読み込みは「PDL::IO::Misc」でできるのですが、CSV中の文字列が値ゼロになるので、文字列を含む場合はText::CSVあたりで読み込まざるをえないですね。(このへんはRに比べると少し不便)

棒グラフ

Perl Data Language グラフィック編 #01 & 統計編 #01 「PDL::Graphics::PLplotのインストールとヒストグラムの描画」

PDLのグラフ描画ライブラリは↓のようにいろいろあります。

PGPLOTはまともにインストールできなかったので、「The PDL Book」に載っていてライセンスがLGPLで速度も問題なさそうなPLplotを選択しました。

スライドシェアに資料もあります。
http://www.slideshare.net/dcmertens/p-lplot-talk

使う前にまずは、plplotをインストールする必要があります。以下のコマンドでインストールできます。

libplplotのドライバーはいろいろあるので、インストールして試してみるといいかもです。

グラフ描画は↓のような感じです。

DEVオプションはいろいろ指定できるけど、ウィンドウに表示するならUnicode対応の「xcairo」がキレイで日本語も表示できてオススメです。Max OSだとAquaTerm Driverっていうドライバーもあるようです。

graph

ラッキー・クッキー・Perl(R)で因子分析

目開いている間中勉強して、なんとか因子分析を手計算(一部省略したところもあるが)でできるところまでやりました。で、こんなん手計算でやってたら手がバグるわというわけで無料のR!そしてこれのPerlインターフェース「Statistics::R」があったので、いろいろ遊んでみました。

データは高津ルイちゃんの本のアンケート結果(5段階評価)。

以下のようなPerlのプログラムを書くと、

以下のように2因子が妥当な結果になりました。(ちなみに因子数3個でやると第3共通因子がどの観測変数にも影響をあまり及ぼしていないという結果になりました。)
累積寄与率は78.7%で良い感じ。

回転はプロマックスでも大体似たような結果になりました。