提供: Japanese Scratch-Wiki

(標準偏差の定義)
(デフォルトソートの整備(Botによる自動編集))
 
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
'''標準偏差'''とは、データのばらつきの様子を示す数値である。統計的な処理を行うときに、よく使用される。詳しくは[[Wikipedia:標準偏差|Wikipeida「標準偏差」]]を参照のこと。
+
{{ひらがなヘッダ}}'''標準偏差'''とは、データのばらつきの様子を示す数値である。統計的な処理を行うときに、よく使用される。詳しくは[[Wikipedia:標準偏差|Wikipedia「標準偏差」]]を参照のこと。
  
 
==標準偏差の定義==
 
==標準偏差の定義==
9行目: 9行目:
 
ここに5本の花があるとする。それぞれの高さは、25 cm、60 cm、40 cm、45 cm、55 cmである。これらの花の高さの平均は次の式で求められる:
 
ここに5本の花があるとする。それぞれの高さは、25 cm、60 cm、40 cm、45 cm、55 cmである。これらの花の高さの平均は次の式で求められる:
  
(25 + 60 + 40 + 45 + 55) / 5 = 45
+
{{分数|25 + 60 + 40 + 45 + 55)|5}}= 45
  
 
したがって、花の高さの平均は45 cmである。では、花の高さの分散はどうだろうか。
 
したがって、花の高さの平均は45 cmである。では、花の高さの分散はどうだろうか。
23行目: 23行目:
 
花 #5: (60-45)<sup>2</sup>=15<sup>2</sup>= 225
 
花 #5: (60-45)<sup>2</sup>=15<sup>2</sup>= 225
  
(400 + 25 + 0 + 100 + 225) / 5 = 150
+
{{分数|400 + 25 + 0 + 100 + 225|5}}= 150
  
 
したがって、花の高さの分散は150である。これの平方根をとれば標準偏差になるので、花の高さの標準偏差は150の平方根を計算して、約12.247...となる。
 
したがって、花の高さの分散は150である。これの平方根をとれば標準偏差になるので、花の高さの標準偏差は150の平方根を計算して、約12.247...となる。
33行目: 33行目:
 
2つの標準偏差の違いは、分散の計算方法にある。母標準偏差は、先ほど述べたルールで分散を計算するのに対し(これを母分散と言う)、標本標準偏差では、各データと平均の差の2乗を合計した後、データの個数から1引いた数でこれをわる(これを標本分散と言う)。たとえば、花の高さの例に戻ると、次の計算で標本分散が求められる:
 
2つの標準偏差の違いは、分散の計算方法にある。母標準偏差は、先ほど述べたルールで分散を計算するのに対し(これを母分散と言う)、標本標準偏差では、各データと平均の差の2乗を合計した後、データの個数から1引いた数でこれをわる(これを標本分散と言う)。たとえば、花の高さの例に戻ると、次の計算で標本分散が求められる:
  
(400 + 25 + 0 + 100 + 225) / (5 - 1) = 187.5
+
{{分数|400 + 25 + 0 + 100 + 225|5 - 1}}=187.5
  
 
5は高さがわかっている花の本数である。ここから1を引くのは、これが標本分散だからである。 最後に、標本分散の平方根をとれば、求める標本標準偏差が計算できる。ここでは、標本分散が187.5であるから、標本標準偏差は約13.693...となる。
 
5は高さがわかっている花の本数である。ここから1を引くのは、これが標本分散だからである。 最後に、標本分散の平方根をとれば、求める標本標準偏差が計算できる。ここでは、標本分散が187.5であるから、標本標準偏差は約13.693...となる。
60行目: 60行目:
  
 
<scratchblocks>
 
<scratchblocks>
@ がクリックされたとき
+
@greenFlag が押されたとき::events hat
 
[合計 v] を (0) にする// 変数をリセット
 
[合計 v] を (0) にする// 変数をリセット
 
[現在の項目 v] を (1) にする
 
[現在の項目 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計 v] を ((現在の項目) 番目([データ v]) ずつ変える
+
   [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
end
 
end
76行目: 76行目:
 
[現在の項目2 v] を (1) にする
 
[現在の項目2 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計2 v] を ((((現在の項目2) 番目([データ v]) - (平均)) * (((現在の項目2) 番目([データ v]) - (平均))) ずつ変える
+
   [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
end
 
end
85行目: 85行目:
  
 
<scratchblocks>
 
<scratchblocks>
[標準偏差 v] を ([平方根 v]\((分散)\)::operators) にする
+
[標準偏差 v] を ((分散)の[平方根 v]::operators) にする
 
</scratchblocks>
 
</scratchblocks>
  
100行目: 100行目:
  
 
<scratchblocks>
 
<scratchblocks>
@ がクリックされたとき
+
@greenFlag が押されたとき::events hat
 
[合計 v] を (0) にする// 変数をリセット
 
[合計 v] を (0) にする// 変数をリセット
 
[現在の項目 v] を (1) にする
 
[現在の項目 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計 v] を ((現在の項目) 番目([データ v]) ずつ変える
+
   [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
end
 
end
111行目: 111行目:
 
[現在の項目2 v] を (1) にする
 
[現在の項目2 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計2 v] を ((((現在の項目2) 番目([データ v]) - (平均)) * (((現在の項目2) 番目([データ v]) - (平均))) ずつ変える
+
   [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
end
 
end
 
[分散 v] を ((合計2) / (([データ v] の長さ::list) - (1))) にする
 
[分散 v] を ((合計2) / (([データ v] の長さ::list) - (1))) にする
[標準偏差 v] を ([平方根 v]\((分散)\)::operators) にする
+
[標準偏差 v] を ((分散)の[平方根 v]::operators) にする
 
</scratchblocks>
 
</scratchblocks>
  
121行目: 121行目:
  
 
<scratchblocks>
 
<scratchblocks>
@ がクリックされたとき
+
@greenFlag が押されたとき::events hat
 
[合計 v] を (0) にする// 変数をリセット
 
[合計 v] を (0) にする// 変数をリセット
 
[現在の項目 v] を (1) にする
 
[現在の項目 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計 v] を ((現在の項目) 番目([データ v]) ずつ変える
+
   [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
   [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
 
end
 
end
132行目: 132行目:
 
[現在の項目2 v] を (1) にする
 
[現在の項目2 v] を (1) にする
 
([データ v] の長さ::list) 回繰り返す
 
([データ v] の長さ::list) 回繰り返す
   [合計2 v] を ((((現在の項目2) 番目([データ v]) - (平均)) * (((現在の項目2) 番目([データ v]) - (平均))) ずつ変える
+
   [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
   [現在の項目2 v] を (1) ずつ変える
 
end
 
end
 
[分散 v] を ((合計2) / ([データ v] の長さ::list)) にする
 
[分散 v] を ((合計2) / ([データ v] の長さ::list)) にする
[標準偏差 v] を ([平方根 v]\((分散)\)::operators) にする
+
[標準偏差 v] を ((分散)の[平方根 v]::operators) にする
 
</scratchblocks>
 
</scratchblocks>
  
146行目: 146行目:
 
*[[データの範囲を求める]]
 
*[[データの範囲を求める]]
 
[[カテゴリ:数学チュートリアル]]
 
[[カテゴリ:数学チュートリアル]]
[[en:Finding_the_Standard_Deviation_of_Numbers]]
+
[[en:Finding_the_Standard_Deviation_of_Numbers]]{{デフォルトソート:ひようしゆんへんさをもとめる}}

2019年7月26日 (金) 14:17時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。
標準偏差とは、データのばらつきの様子を示す数値である。統計的な処理を行うときに、よく使用される。詳しくはWikipedia「標準偏差」を参照のこと。

標準偏差の定義

標準偏差とは、分散の正の平方根のことである。

では、分散とは何だろうか。これは、各データと平均値の差を2乗して、さらにこの平均をとったものである。 標準偏差と分散は、ともにデータのばらつき度合い、-- 各データがある値周辺に固まっているか、バラバラであるか -- を示す数値である。次の例で確認してみよう。

ここに5本の花があるとする。それぞれの高さは、25 cm、60 cm、40 cm、45 cm、55 cmである。これらの花の高さの平均は次の式で求められる:

25 + 60 + 40 + 45 + 55)

5
= 45

したがって、花の高さの平均は45 cmである。では、花の高さの分散はどうだろうか。

花 #1: (25-45)2=(-20)2400

花 #2: (40-45)2=(-5)2= 25

花 #3: (45-45)2=02= 0

花 #4: (55-45)2=102= 100

花 #5: (60-45)2=152= 225

400 + 25 + 0 + 100 + 225

5
= 150

したがって、花の高さの分散は150である。これの平方根をとれば標準偏差になるので、花の高さの標準偏差は150の平方根を計算して、約12.247...となる。

ただし、標準偏差には2種類が存在する。1つは、すべてを対象とした調査の結果に基づく標準偏差だ。これを母集団の標準偏差、または、母標準偏差と言う。たとえば、世の中にこの5本しか花というものが存在しない場合、先ほどの12.247が花の高さの母標準偏差になる。

もう1つの標準偏差は、標本標準偏差だ。これは、対象の一部のみを取り出したデータ (標本:サンプル) に対する標準偏差のことである。たとえば、現実には、明らかに5本以上の花が存在しており、先ほどの花の高さはそのごく一部を取り上げたものであるため、この例では本来、標本標準偏差を適用すべきであった。

2つの標準偏差の違いは、分散の計算方法にある。母標準偏差は、先ほど述べたルールで分散を計算するのに対し(これを母分散と言う)、標本標準偏差では、各データと平均の差の2乗を合計した後、データの個数から1引いた数でこれをわる(これを標本分散と言う)。たとえば、花の高さの例に戻ると、次の計算で標本分散が求められる:

400 + 25 + 0 + 100 + 225

5 - 1
=187.5

5は高さがわかっている花の本数である。ここから1を引くのは、これが標本分散だからである。 最後に、標本分散の平方根をとれば、求める標本標準偏差が計算できる。ここでは、標本分散が187.5であるから、標本標準偏差は約13.693...となる。

スクリプト例

変数/リスト

ここでは、次の変数リストを使用する:

  • データ — 標準偏差をもとめるデータがはいったリスト。

さらに、次の7つの変数を使用する。

  • 平均
  • 合計
  • 分散
  • 標準偏差
  • 合計2
  • 現在の項目
  • 現在の項目2


まずは、標本標準偏差の求め方から見ていこう。

最初に、対象となるデータの平均値を求める必要がある。これは次のスクリプトのとおりである:

@greenFlag が押されたとき::events hat
[合計 v] を (0) にする// 変数をリセット
[現在の項目 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
  [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
end
[平均 v] を ((合計) / ([データ v] の長さ::list)) にする

次に、標本分散を計算する:

[合計2 v] を (0) にする
[現在の項目2 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
   [現在の項目2 v] を (1) ずつ変える
end
[分散 v] を ((合計2) / (([データ v] の長さ::list) - (1))) にする

最後に、分散の平方根をとる。

[標準偏差 v] を ((分散)の[平方根 v]::operators) にする

以上のスクリプトをまとめて実行すれば、標本標準偏差が求められる。 母標準偏差を求める場合は、上記の分散を求める場所を次のように修正すればよい:

[分散 v] を ((合計2) / ( [データ v] の長さ::list)) にする

完成したスクリプト

標本標準偏差を求めるコードは次のとおり:

@greenFlag が押されたとき::events hat
[合計 v] を (0) にする// 変数をリセット
[現在の項目 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
  [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
end
[平均 v] を ((合計) / ([データ v] の長さ::list)) にする
[合計2 v] を (0) にする
[現在の項目2 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
   [現在の項目2 v] を (1) ずつ変える
end
[分散 v] を ((合計2) / (([データ v] の長さ::list) - (1))) にする
[標準偏差 v] を ((分散)の[平方根 v]::operators) にする

母標準偏差を求めるコードは次のとおり:

@greenFlag が押されたとき::events hat
[合計 v] を (0) にする// 変数をリセット
[現在の項目 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計 v] を ([データ v]の(現在の項目)番目::list) ずつ変える
  [現在の項目 v] を (1) ずつ変える //変数 「現在の項目」は現在取り上げているデータを示す数値
end
[平均 v] を ((合計) / ([データ v] の長さ::list)) にする
[合計2 v] を (0) にする
[現在の項目2 v] を (1) にする
([データ v] の長さ::list) 回繰り返す
  [合計2 v] を ((([データ v]の(現在の項目2)番目::list) - (平均)) * (([データ v]の(現在の項目2)番目::list) - (平均))) ずつ変える
   [現在の項目2 v] を (1) ずつ変える
end
[分散 v] を ((合計2) / ([データ v] の長さ::list)) にする
[標準偏差 v] を ((分散)の[平方根 v]::operators) にする

関連項目