Location : Home > Languages > Perl > Package Title : Statistics::SerialCorrelation |
![]() |
Statistics::SerialCorrelation - 配列に対し系列相関係数を計算
use Statistics::SerialCorrelation; print Statistics::SerialCorrelation::serialcorrelation(1..6);名前空間に混乱を生じたくなければ関数としてインポートすることもできる。
use Statistics::SerialCorrelation 'serialcorrelation';
本モジュールはたった1つのこと、すなわち系列相関係数を計算する。これは値の系列がどの程度予測可能かを示す指標となる。たとえば数列:
1 2 3 4 5 6 7 8 9 10
はかなり予測可能であり、非常に高い系列相関係数を示す。しかし数列:
10 1 3 2 6 7 7 9 2
はほとんど予測可能ではなく、系列相関係数はほとんど 0 に近い。
一般にランダムデータに対する係数は 0 に近く、順序付けられたデータはそうではない。また係数は負になることもある。
ただ1つの関数を持つ。
serialcorrelation
これは数のリストまたは配列参照のどちらでも引数にとることができる。配列参照が与えられた場合にはまずは配列に変換する。それから相関係数を計算し結果を返す。
詳しくは公式の Knuth のコピーを参照のこと。
値の和の平方が値の平方和と等しい場合にはゼロ割りエラーを回避するために undef を返している。そのほうが問題に容易に気がつくからである。
データセットが小さい場合には、結果にはさほど意味はない。
その他のバグはまだ確認されていないが、もし発見された場合には、そのテストケースとともに筆者に知らせて欲しい。
私のコードに対する建設的な批判を含むフィードバックを歓迎する。
David Cantrell, <david@cantrell.org.uk>
Copyright 2003 David Cantrell
本モジュールは自由という意味でフリーなソフトウェア(free-as-in-speech software)であり、 Perl 本体と同等の条件で修正・再配布することができる。
![]() |
Updated : 2006/06/04 |