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

名称

 Statistics::Simpson - シンプソン指数


概要

 オブジェクト指向のインタフェースを持つ:

use Statistics::Simpson;

# The constructor is inherited from Statistics::Frequency.

my $pop = Statistics::Simpson->new(@data);
my $pop = Statistics::Simpson->new(\@data);
my $pop = Statistics::Simpson->new(\%data);
my $pop = Statistics::Simpson->new($another);

# シンプソン指数(Simpson index)とシンプソン均等度(Simpson evenness)
print $pop->index, "\n";
print $pop->evenness, "\n";

 データが Statistics::Frequency オブジェクトでない匿名(anonymous)インタフェースの場合もあり、配列への参照の場合は配列の要素が頻度であり、ハッシュへの参照の場合にはハッシュ値が頻度である。

use Statistics::Simpson;

print Statistics::Simpson::index([ data ]), "\n";
print Statistics::Simpson::index({ data }), "\n";
print Statistics::Simpson::evenness([ data ]), "\n";
print Statistics::Simpson::evenness({ data }), "\n";

 その他のデータ操作については Statistics::Frequency から継承した。

$pop->add_data(@more_data);
$pop->add_data(\@more_data);
$pop->add_data(\%more_data);
$pop->add_data($another);

$pop->remove_data(@less_data);
$pop->remove_data(\@less_data);
$pop->remove_data(\%less_data);
$pop->remove_data($another);

$pop->copy_data($another);

$pop->clear_data();

説明

 Statistics::Shannon モジュールはデータのシャノン指数(データの多様性を示す指数)を計算するのに用いられる。
 index() 及び evenness() インタフェースが本モジュールにおけるインタフェースで、コンストラクタ及びその他の操作については Statistics::Frequency から継承されている

new

my $pop = Statistics::Simpson->new(@data);
my $pop = Statistics::Simpson->new(\@data);
my $pop = Statistics::Simpson->new(\%data);
my $pop = Statistics::Simpson->new($another);

 初期データから新しい Simpson オブジェクトを生成する。データはリスト・配列への参照・ハッシュへの参照をとりうる。

index

$pop->index;

 データのシンプソン指数を返す。指数は

$Simpson = 1 / sum($p{$e}**2)

で定義される。ただし $p{$e} は要素 $e の相対頻度、log() は自然対数である。
 シンプソン指数(Simpson index)は生物学や環境学の分野で生物の数量や多様性について言及するときに用いられる。

evenness

 相対多様度(evenness)はどれくらい頻度が似通っているかを示す。

$Evenness = $Simpson / $NumberOfDifferentElements

 頻度がすべて等しければ相対多様度は 1 となる。頻度が不均衡になれば相対多様度の値は小さくなる。

add_data

$pop->add_data(@more_data);
$pop->add_data(\@more_data);
$pop->add_data(\%more_data);
$pop->add_data($another);

 オブジェクトにデータを追加する。引数は new() で定義されたものである。

remove_data

$pop->remove_data(@less_data);
$pop->remove_data(\@less_data);
$pop->remove_data(\%less_data);
$pop->remove_data($another);

 オブジェクトからデータを削除する。引数は new() で定義されたものである。データ要素の頻度は 0 で不連続である。

copy_data

$pop->clear_data($another);

 他のオブジェクトから全データをコピーする。古いデータは捨てられる。

clear_data

$pop->clear_data();

 オブジェクトから全データをクリアする。


参考資料

 他の多様性の指数については Statistics::Shannon を見よ。
 データ操作のインタフェースについては Statistics::Frequency を見よ。(すべてのインタフェースはこの文書に基づく。)


著者・著作権・ライセンス

 Jarkko Hietaniemi, <jhi@iki.fi>, Copyright 2002
 本ライブラリはフリーソフトウェアであり、Perl自身の配布条件と同等の条件のもとで変更/再配布してもよい。

Toolbox Logo
Updated : 2006/06/21