シャノン多様性指数
4種の個体数が十、二十、三十、四十のとき、シャノン指数は1.279854になります。方形区や網、カメラトラップで数えた個体数を入れれば、地点どうしを比べられるひとつの数値が得られます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 個体数
- 10, 20, 30, 40
- 合計
- 100 nats
- シャノン指数
- 1.2798542258
- 種の豊富さ
- 4
- 種数
- 4
シャノン多様性指数は、シャノン–ウィーナー指数またはシャノン–ウィーバー指数とも呼ばれ、各種の個体数から生物群集がどれほど混在しているかを測ります。種の一覧でも単純な種数の集計でもありません。二つの区画が同じ分類群数を持っていても、一方が単一の優占種に支配され、他方が個体をより均等に分けるなら、指数は異なります。ゼロの個体数は寄与しません。p がゼロに近づくときの p かける ln p の極限はゼロだからです。
シャノン多様性指数の計算方法
各値は有限の非負数です。それらの個体数を一度だけ合計して群集サイズ N を得ます。合計がゼロだと相対優占度はすべてゼロ割るゼロになるため、エンジンは指数を捏造せずその入力を拒否します。
ゼロの個体数は寄与しません。p がゼロに近づくときの p ln p のよく知られた極限はゼロであり、標準教科書の生態学的慣例です。正の個体数がすべて同一なら、H プライムは占有分類群数の自然対数に落ち、それがその種数に対する理論最大 H_max でもあります。
占有種が一つだけなら、p は一で ln 一はゼロのため H プライムは常にゼロです。ピールー均等度 J プライムは H プライムを種数の ln で割った値です。一種の群集は完全に均等とみなし、未定義のゼロ割るゼロではなく均等度は一とします。
H プライムは、標本から無作為に引いた個体の種の身元に対する不確かさ(nats)です。
送信内容、戻り値、失敗する場合
一つの数値が一種です。 バイオマスや被度の系列を先に整数へ丸めなくて済むよう、小数の優占度も許されます。ゼロの項目は許可され、返される counts と proportions の配列に残りますが、種数は増えません。負の個体数は失敗し、該当インデックスを指名します。
負の個体群は標本ではないからです。すべての個体数がゼロなら合計はゼロで、N がゼロのときシャノン指数は未定義である旨のメッセージで失敗します。古典的な確認には、指数が約 1.279854 となる十、二十、三十、四十と、指数が三の自然対数となる三つの等しい個体数があります。
野外ノートには無料のブラウザフォームを配線し、解答キーや監視パイプラインが必要なときはスクリプトから同一契約を呼び出してください。
シャノン指数が役立つ場面
野外生態学者、保全機関、授業ラボは、方形区・かすみ網・カメラトラップ一夜の個体数ベクトルを、区画が多様に「感じた」かどうかの議論ではなく、地点名の横に置ける一つの比較可能な数に変えるために、決定的なシャノン計算器を使います。復元事業は処理前標本と処理後標本を、二つの個体数リストを独立に送り H プライムと均等度の変化を読むことで比べます。
エンジンは統計検定を捏造せず、同じ式を二度返すだけです。検証失敗は残高を消費しません。リストを公開された件数上限内に収め、丸めた欄をテストで固定すれば、自前の統計スタックを立てずに再現可能な多様性プロダクトが得られます。
後でシンプソン優占度、希薄化曲線、二つの群集の並べ替え検定が必要になった場合は、このシャノン指数ページに載せ過ぎず、別の検索意図として扱ってください。
活用例
方形区とライントランセクトの野外記録
区画・網・トラップ一夜の種の個体数の一行を、地点識別子の横に保存できる H′・種数・均等度へ変換します。
授業と試験の解答キー
教科書の優占度リストのシャノン指数を生成し、教員と自動採点が対数のずれではなく一つの正解を共有できるようにします。
復元とモニタリングのパイプライン
処理前と処理後の群集を、各個体数ベクトルを独立に送り H′ と均等度の変化を読むことで比較します。
よくある質問
シャノン多様性指数とは何ですか?
ここでは nats(自然対数)で報告します。H′ が高いほど混在した群集です。
ゼロの個体数は指数を変えますか?
変えません。 ゼロの優占度は、p がゼロに近づくときの p ln p の極限がゼロであるため寄与しません。ゼロは種数も増やしません。種数は厳密に正の項目だけを数えます。
応答の均等度とは何ですか?
ピールー均等度 J′ = H′ / ln(S) です。その種数で可能な最大 H′ で指数を割った値です。占有種が一つだけの群集は完全に均等とみなし、均等度は 1 です。
シャノン指数が0になるのはどんなときですか?
見つかった種が1種だけのときです。その種の割合が全体となり、1の対数は0になるためです。個体がより多くの種に均等に分かれるほど、指数は大きくなります。
シャノン指数の最大値はいくつですか?
すべての種の個体数が同じとき、指数は種数の自然対数になり、その種数での最大値です。3種が同数ならln 3で、1種だけなら常に0になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/eco/shannon-index \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"counts":[10,20,30,40]}'const res = await fetch("https://api.kit.forhosting.com/eco/shannon-index", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"counts": [
10,
20,
30,
40
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eco/shannon-index",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"counts": [
10,
20,
30,
40
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eco/shannon-index", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"counts":[10,20,30,40]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"counts":[10,20,30,40]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eco/shannon-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,
30,
40
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eco.shannon_index",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本計算器は非負の個体数の列を受け取り、各個体数を相対優占度 p_i(n_i を N で割った値)に変換し、H プライムを p_i と p_i の自然対数の積の和の符号反転として返します。負の個体数は個体群ではなく、合計がゼロだと各割合が未定義になるため、それらの場合は NaN を返す代わりに invalid_input で失敗します。
シャノン多様性指数の計算方法
空でない種の個体数 n_1 から n_S の列から始めます。各種について相対優占度 p_i を n_i を N で割った値として計算します。nats でのシャノン–ウィーナー指数は、個体数が厳密に正の種だけについて、p_i と p_i の自然対数の積の和の符号反転である H プライムです。パイプラインは乱数シードも壁時計のタイムスタンプもネットワーク照会もない通常の浮動小数点演算であり、同一の個体数は常に同一の JSON を生みます。
送信内容、戻り値、失敗する場合
必須フィールド counts、または別名 populations、abundances、values、n を持つ JSON オブジェクトを送ってください。中身は有限の非負数の JSON 配列、あるいはカンマ・空白・セミコロン区切りの数値文字列です。欠落フィールド、空配列、空文字列、真偽値、オブジェクト、NaN、Infinity、および単純な十進や科学記数法でないトークンは invalid_input で失敗し課金されません。成功時の応答は、主値である nats の H プライムとしての shannon_index、厳密に正の個体数の件数としての richness、ゼロを含む入力長としての species_count、N としての total、ピールーの J プライムとしての evenness、入力順に清浄化した counts と proportions、log_base e、unit nats、短い式文字列を報告します。成功した API 呼び出しは公開基準の1件あたり $0.002 を使い、検証失敗は前払い残高を消費しません。
シャノン指数 API が役立つ場面
種×地点の優占度表をすでに持つ長期モニタリング計画は、行ごとに一件送り、対数の表計算を開かずに shannon_index、richness、evenness を訪問識別子の横に保存できます。実装は純粋な parse のティア A のため、成功した各呼び出しは公開された基本料金 $0.002 で、モデルトークンも外向きネットワークもありません。
技術的な質問
負の個体数と合計ゼロが拒否される理由は何ですか。
負の個体群は標本ではありません。すべての個体数がゼロなら N はゼロで各 p_i は未定義となり、指数は計算できません。どちらも invalid_input で失敗します。
料金はいくらですか。
ブラウザの道具は無料で、お手元で動きます。API リクエストは成功1件あたり $0.002 の前払い残高を使い、不正な入力は課金されません。