Location : Home > Languages > Perl > Package
Title : Statistics::Basic
Toolbox Logo

名称

 Statistics::Basic - 基本的な統計量の計算


概要

# for use with one vector:
Statistics::Basic::Mean;
Statistics::Basic::Median;
Statistics::Basic::Mode;
Statistics::Basic::Variance;
Statistics::Basic::StdDev;

# for use with two vectors:
Statistics::Basic::CoVariance;
Statistics::Basic::Correlation;

使用例

my $mean = Statistics::Basic::Mean->new($array_ref)->query;

print "$mean\n";  # フレー

# 同じサイズのたくさんの配列の平均を取らねばならない時に有用。
# さらに FIFO である。

my $mo = new Statistics::Basic::Mean([1..3]);

print $mo->query, "\n"; # 1, 2, 3 の平均は 2
      $mo->insert(4);   # ベクトルは自動的に同じ大きさに維持
print $mo->query, "\n"; # 2, 3, 4 の平均は 3

# データを読み込みながらの平均の場合にはgrowing insert を利用

      $mo->ginsert(5);  # ベクトルの大きさを 5 に拡大
print $mo->query, "\n"; # 2, 3, 4, 5 の平均は 7/2

# 最後に [3, 7] の平均は

      $mo->set_vector([2,3]);  # ふー。ベクトルは 2, 3!
print $mo->query, "\n"; # その平均は 5/2!  やったー。

# これらの関数は ::StdDev 及び ::Variance とほとんど同じだが CoVariance と Correlation は少し違う

# 当たり前だが [1..3] と [1..3] の相関は 1.0

my $co = new Statistics::Basic::Correlation( [1..3], [1..3] );

print $co->query, "\n";

# [1..3, 7] と [1..3, 5] の相関は 1 より小さい

      $co->ginsert( 7, 5 );
print $co->query, "\n";


バグ

 ドキュメントの貧困さ以外にあるかって?
 たぶんあるだろう。
 包括的なテストはやろうとしたけれども、全てを考えるのは困難だ。
 もしあれば知らせて欲しい。


環境変数

DEBUG

 内部処理を見たいのであれば $ENV{DEBUG}=1; または $ENV{DEBUG}=2; と設定すること。
 動的にデバッグしたいならコマンドで 'DEBUG=1 perl ./myprog.pl' と打てばよい。

UNBIAS

 本モジュールは分散の定義に sum(X - mean(X))/N を用いている。
 もし不偏分散 sum(X-mean(X)/(N-1) を使いたい場合には $ENV{UNBIAS}=1; と設定する。
 # もしこれが有用だと思うなら、これを要求した Robert McGehee <xxxxxxxx@wso.williams.edu> に叫んでくれ。


著者

 どんなに冗長であってもよいのでいかなる示唆も私にコンタクトを。
 Jettero Heller, <japh@voltar-confed.org>


contribs

 http://search.cpan.org/~orien/ (いくつかのモジュールとテスト)


著作権

 GPL! 読みたくってしかたがない人のために gpl.txt を付けておいた。

 もしこのパッケージを使って商用化してくれるならうれしい。その場合でも GPL は適用される。
 ここに条件を付けておく。
 本パッケージ及びその修正は GPL の下に置かれる。ユーザの書いたプログラムはユーザのものだが。


参考資料

 ドキュメントのほとんどは中身が薄くて申し訳ない。各モジュールにはそれぞれのドキュメントがある(ただし中身はほとんどないけど)。
 Statistics::Basic::LeastSquareFit

Toolbox Logo
Updated : 2008/03/20