統計の基礎とPython

本読みながらコード書いて勉強しています。

Rで統計したことあるけども、Pythonでも。 以下コードメモ。

# coding:utf-8
import numpy as np

# データ
data = np.array([34,35,47,51,58,62,81])

# 平均計算
ave = np.average(data)
print(u"平均:"+str(ave))

# 分散計算
var = np.var(data)
print(u"分散:"+str(var))

# 標準偏差計算
std = np.std(data)
print(u"標準偏差:"+str(std))

不偏分散と標本分散

Nの値(標本数)を増やしていくと、不偏分散と標本分散の値の差が少なくなる。

# 標本分散
def bunsan(n):
    ret = 0
    for i in range(len(n)):
        ret += (n[i]-np.average(n))**2
    return ret/len(n)

# 不偏分散
def bunsan2(n):
    ret = 0
    for i in range(len(n)):
        ret += (n[i]-np.average(n))**2
    return ret/(len(n)-1)

N = 100000
r = np.random.random(N)*100
print(bunsan(r))
print(bunsan2(r))

参考文献

まずはこの一冊から 意味がわかる統計学 (BERET SCIENCE)

まずはこの一冊から 意味がわかる統計学 (BERET SCIENCE)