シンプソン多様性指数
個体数が10、20、5、15なら、4種で合計50個体となり、多様性指数は10回に7回を少し上回ります。これは無作為な2個体が別の種である確率です。種ごとの個体数を入力すると、優占度も分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 個体数
- 10, 20, 5, 15
- 種数
- 4
- 合計数
- 50
- 多様度指数
- 0.7142857143
- 優性
- 0.2857142857
シンプソン多様性指数は、有限な種の個体数リストから無作為に2個体を選んだとき、それらが異なる種に属する確率はいくらか、という一つの標本抽出の問いに答えます。この計算機は空でない非負の個体数リストを受け取り、合計をNとし、有限標本の式「1から、n×(n−1)の和をN×(N−1)で割った値を引く」を適用します。
シンプソン多様性指数が測るもの
シンプソン多様性指数は2回抽出の確率であり、曖昧な均一性の標語ではありません。シンプソン多様性指数はその補数1−D、すなわち2回の抽出が異種である確率です。1種が全個体を占めるとDは1、多様性指数は0です。
多くの種が標本を均等に分けるとDは小さく、指数は1に近づきます。既知の母集団割合ではなく個体数があるときは、2回目が非復元であるため有限標本形が適切です。対の確率は2個体が存在するまで未定義です。
教科書は名称が一致せず、Dを優占度とするもの、Dを1−lambdaとするもの、逆シンプソン1/lambdaを有効種数とするものがあります。本計算機の契約は一つです。
入力する内容と結果の見方
非負の有限数の空でない配列、または同じ値のカンマ・空白・セミコロン区切り文字列です。各要素は標本中の1種の個体数で、古典的には整数ですが、集約表や希釈表向けに非負の実数も受け付けます。最大1万エントリまでです。
全個体数の合計Nは少なくとも2でなければなりません。1個体では2回抽出の確率が立たないため、合計が2未満はNaNではなく明確なメッセージで拒否されます。例:個体数10、20、5、15ならNは50、4種、優占度は0.3未満の中程度、多様性指数は0.7超で、単一栽培ではなく混合標本を反映します。
種名はクライアント側で数値と対応させてください。
シンプソン多様性指数が役立つ場面
教室の実験と統計の授業では、学生がコドラート、鳥のポイントカウント、架空の表から短い個体数ベクトルを入力し、Rや式を静かに変える表計算ひな型を入れずに対の確率が更新される様子を見るためのライブの基準が必要です。生物多様性モニタリングは各プロットの生カウントを少数の指数に落としてから時系列を保存します。
有限標本の多様性指数の自動化は、技術者がシート間でセルをコピーするときのずれを除きます。環境スコアカードや復元報告は、撹乱後の群集がいまだ少数の日和見分類群に優占されていると論じるときに、異種である再現可能な確率を必要とします。
すでにShannonエントロピーを計算する研究ノートは、閉じた式1本のためにフルのveganパッケージを引かず、均一性に敏感なこの補完指標を足せます。
活用例
プロットと調査の要約
植生プロットやポイントカウントの種ごとの個体数を、無作為2個体が異なる確率に変換します。
よくある質問
種の個体数からシンプソン多様性指数をどう計算しますか?
合計Nが少なくとも2である非負数の空でないcounts配列を送ってください。
合計が2以上でなければならないのはなぜですか?
この指数は、取り出した個体を戻さずに2回選ぶときの確率なので、少なくとも2個体が必要です。1個体だけでは2回目を選べないため、計算機はその入力を受け付けません。
値が0や1に近いのはどういう意味ですか?
0は1つの種がすべての個体を占め、2回選ぶと必ず同じ種になる状態です。1に近い値は多くの種が均等に分かれていて、無作為な2個体がほぼ必ず別の種になることを示します。
教科書のシンプソン指数と値が違うのはなぜですか?
教科書によって記号Dの意味が異なり、同じ種である確率、その補数、有効種数としての逆シンプソン指数などを指します。このツールの多様性指数は、常に2個体が別の種である確率です。
整数でない個体数も入力できますか?
はい。本来は個体の数ですが、集計した表や希薄化した表のために、0以上の小数も受け付けます。ただし、すべての個体数の合計は2以上である必要があります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/simpsons-diversity-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"counts":[10,20,5,15]}'const res = await fetch("https://api.kit.forhosting.com/stat/simpsons-diversity-index", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"counts": [
10,
20,
5,
15
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/simpsons-diversity-index",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"counts": [
10,
20,
5,
15
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/simpsons-diversity-index", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"counts":[10,20,5,15]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"counts":[10,20,5,15]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/simpsons-diversity-index", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"counts": [
10,
20,
5,
15
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.simpsons_diversity_index",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
合計が2未満では対の抽出が立たないため、空洞の数値を返す代わりに invalid_input で失敗します。
シンプソン多様性指数が測るもの
種iがn_i個体を寄与し合計がNである有限標本を考え、まず1個体を一様に引き、残りN−1から2個体目を引くと想像してください。両者が同種である確率がシンプソン優占度Dで、各iについてn_i×(n_i−1)を足し、N×(N−1)で割った値です。無限母集団の近い形である1−Σp_i²はNが大きいと近似しますが、Nが1でも定義でき、本エンドポイントはそれを拒みます。diversity_indexは常に非復元で2個体が異なる確率、dominanceは常にDです。これにより宿題、ダッシュボード、APIが同じ文字の下で同種確率と異種確率を混ぜません。
入力契約、応答フィールド、検証
必須フィールドcountsを含むJSON本体をPOSTしてください。エイリアスn、species_counts、values、abundancesが使えます。欠落フィールド、空リスト、非数値トークン、真偽値、負値はinvalid_inputで失敗し課金されません。成功時はクリーンなcounts、species_count(厳密に正のエントリ数)、total_count N、diversity_index(1−D)、dominance(有限標本D)、表示と監査用のformulaとmethod文字列を返します。このエンドポイントは意図的に名前を持たず、プライバシーと地域化はインターフェース側に残します。
シンプソン多様性APIが役立つ場面
モバイル野外アプリはオフライン同期したカウントリストから接続復帰後に同じparseエンドポイントを呼べ、公開された基本料金$0.002で成功タスクのみ課金し、モデルトークンもワーカーからの外向きネットワークも使いません。
連携の活用例
教室と宿題の検算
学生が短い種の個体数ベクトルを送り、返されたdiversity_indexを1−Dの手計算と照合します。
監視パイプラインとテスト
決定的なシンプソン多様性のJSONフィクスチャをCIに固定し、式の変更が気づかれずにダッシュボードへ紛れ込まないようにします。
技術的な質問
diversity_index と dominance の違いは何ですか。
dominanceはDで、無作為2個体が同種である確率です。diversity_indexは補数1−Dで、異種である確率です。値が大きいほど多様性が高いことを意味します。
合計個体数が少なくとも2でなければならない理由は。
有限標本のDはN(N−1)で割ります。2個体未満では対を引けず、指数は未定義となりタスクはinvalid_inputで失敗します。
個体数ゼロは許されますか。
はい。ゼロはエコーされたリストに残りますがspecies_countでは無視され、和は変わりません。全ゼロベクトルはNが2未満になるため拒否されます。
シンプソン多様性指数の計算機の料金は。
ブラウザのツールは無料です。API要求は成功1回あたり$0.002の前払いKIT残高を使い、無効な入力は課金されません。