Pythonを使った基本統計📈


「統計は高い口径の武器のようなものです:間違った手で正しく使われて、潜在的に悲惨なとき、役に立ちます。」


統計は、DNAのテストや癌や心臓病や宝くじを再生の愚かなような疾患に関連する要因のような多くのことを説明するために使用することができます.統計は、データ科学と機械学習への天気予測確率から、米国大統領選挙世論調査へのクリケットのバッティング平均からの我々の日常生活の至る所で存在しています.統計は、コレクション、組織、分析、解釈、およびデータの表現を扱う数学の分野です.
現在の技術の中で最も求められている機械学習は、基本的に、コンピュータがデータに見られる反復性の特性に基づいて決定を下すのを助けるための統計の分析です.

このポストでは、Pythonの助けを借りて、平均、中央値、モード、標準偏差などの統計の基礎を見ていきます.

平均


ここで平均とは、数字の平均値を意味し、数字を追加し、存在する項目の総数によって分割することを意味します.以下のコード.
a=[11,21,34,22,27,11,23,21]
mean = sum(a)/len(a)
print (mean)
また、以下のコードはnumpyコードを使用して平均値を計算することもできます.
import numpy as np
mean = np.mean(a)
print (mean)

メディアン


メディアンは、ソートされた配列で発生する中間項です.要素の奇数については、それは中期であり、偶数の要素のために、それは中央の2つの用語の平均です.以下の実装を行います.
def median(nums):
    if len(nums)%2 == 0:

        return int(nums[len(nums)//2-1]+nums[len(nums)//2])//2
    else:
        return nums[len(nums)//2]
print (median(a))
メディアンを見つけるためのnumpyコードは以下の通りです.
import numpy as np
print(np.median(a))

モード


モードは、要素のリスト内で最も高い周波数を有する要素を指す.多くの回数が発生する要素です.Pythonモードの検索モードを以下に示します.
from collections import Counter 
data = dict(Counter(a))
mode = [k for k, v in data.items() if v == max(list(data.values()))]
print (mode)
Scipyは、要素の配列またはリストのモードを見つける方法を提供する.この方法の欠点はデータがマルチモードであっても1つの解しか与えないことである.
from scipy import stats
print (stats.mode(a)[0][0])

四分位数


四者はデータを四分割した.最初の部分は最初の四半期(Q 1)に始まり、第2の部分は第2の四分位(Q 2)に第1の部分であり、第3の部分はQ 2からQ 3、第4の部分はQ 3である.データをクォーターを見つけるためにソートする必要があります.quartilesを見つけるためのコードは以下の通りである.
def quartiles(nums):
    nums=sorted(nums)
    Q1 = median(nums[:len(nums)//2])
    Q2 = median(nums)
    if len(nums)%2 == 0:
        Q3 = median(nums[len(nums)//2:])
    else:
        Q3 = median(nums[len(nums)//2+1:])
    return Q1,Q2,Q3

print (quartiles(a))

標準偏差


標準偏差はデータの分散や拡散の尺度である.それは分散の平方根です.標準偏差を見つける単純なPython実装は以下で与えられます.
n=len(a)
std=(sum(map(lambda x: (x-sum(a)/n)**2,a))/n )**0.5
print(std)
標準偏差を見つけるnumpy関数を以下に示します.
import numpy as np 
print (np.std(a))