Python
 Computer >> コンピューター >  >> プログラミング >> Python

NumPyを使った絶対偏差と平均絶対偏差(MAD)の計算方法

統計分析において、データの変動(ばらつき)を調べることは、与えられたデータサンプル内の値がどれだけ散らばっているかを把握するうえで重要です。変動を測る代表的な指標として、絶対偏差(Absolute Deviation)平均絶対偏差(Mean Absolute Deviation)の2つがあります。

絶対偏差とは

この方法では、まず対象となるサンプルの平均値を求めます。次に、各データ点とその平均値との差を計算します。これが各データサンプルの偏差です。平均よりも大きい値の偏差は正に、平均より小さい値の偏差は負になります。

続いて、NumPyのabsolute関数を使って各偏差の絶対値を取ることで、すべての偏差を正の値に変換します。このようにして得られた絶対偏差をすべて合計すれば、正の結果が得られます。もし絶対値を取らなければ、正と負の偏差が打ち消し合い、合計は必ずゼロになってしまいます。

以下の例では、データサンプルから各要素の絶対偏差を計算しています。

コード例

from numpy import mean, absolute

data = [12, 42, 53, 13, 112]

# 標本の平均値を求める
M = mean(data)
print("Sample Mean Value = ", mean(data))
print("\n")

# 各データ点の絶対偏差を計算
print("Data-Mean", "", "deviation")
for i in range(len(data)):
    dev = absolute(data[i] - M)
    print(data[i], "-", M, round(dev, 2))

実行結果

上記のコードを実行すると、次の出力が得られます。

Sample Mean Value = 46.4
Data-Mean deviation
12 - 46.4 34.4
42 - 46.4 4.4
53 - 46.4 6.6
13 - 46.4 33.4
112 - 46.4 65.6

平均絶対偏差(MAD)とは

平均絶対偏差(Mean Absolute Deviation:MAD)は、各データ点について計算したすべての絶対偏差の平均値です。前述の例と同じサンプルを使用し、絶対偏差の合計を求めてから、サンプルサイズで割る処理を追加します。

コード例

from numpy import mean, absolute

data = [12, 42, 53, 13, 112]

# 標本の平均値を求める
M = mean(data)
print("Sample Mean Value = ", mean(data))

total = 0
# 平均絶対偏差を計算
for i in range(len(data)):
    dev = absolute(data[i] - M)
    total += round(dev, 2)

print("Mean Absolute Deviation: ", total / len(data))

実行結果

上記のコードを実行すると、次の出力が得られます。

Sample Mean Value = 46.4
Mean Absolute Deviation: 28.88

まとめ

絶対偏差は個々のデータ点が平均からどれだけ離れているかを示し、平均絶対偏差はそのばらつき具合をひとつの数値で表す指標です。NumPyのmean関数とabsolute関数を組み合わせることで、これらの統計量をシンプルなコードで効率よく計算できます。

  1. Excelで標準偏差と平均の標準誤差(SEM)を計算する方法|STDEV関数の使い方を解説

    Excelはさまざまな用途に活用できる便利なツールですが、特に統計データを扱う方にとっては欠かせない存在です。統計学でよく使われる指標に「標準偏差」と「平均の標準誤差(SEM)」があります。これらの値を手作業で計算するのは難しく、電卓を使っても手間がかかりますが、Excelならセル範囲を指定するだけで簡単に求められます。 Excelで標準偏差を計算する方法 標準偏差とは、統計学で使われる用語で、データセット内の各数値が平均値からどれだけばらついているかを表す指標です。標準偏差を求めるための数式の構文は以下の通りです。 =STDEV(サンプリング範囲) ここで「サンプリング範囲」は、次のように指

  2. PythonとScrapyで実現するWebスクレイピング入門:インストールからデータ抽出まで

    クローラー(Web巡回プログラム)を開発するためのフレームワークの中でも、特に優れているのが「Scrapy」です。Scrapyは人気の高いWebスクレイピング・クローリングフレームワークであり、高レベルな機能を提供することで、Webサイトからのデータ抽出を格段に簡単にしてくれます。本記事では、Scrapyのインストール方法から、実際にWebページを取得し、タイトルやリンクなどの情報を抽出するまでの一連の流れを解説します。ScrapyのインストールWindows環境へのScrapyのインストールは非常に簡単です。pipを使う方法と、Anacondaを利用している場合はcondaを使う方法の2通り