실험에서 제곱 분포를 확인하다
15507 단어 통계학
케제곱 분포
이것은 매우 이해하기 쉽다.確率変数 X_1,X_2,\cdots,X_n
が\\
互いに独立に標準正規分布 N(0,1)に従うとき,\\
X=X_1^2+X_2^2+\cdots +X_n^2
は自由度 n のカイ二乗分布に従う
이번에는 n개의 정적 분포에 부합되는 변수를 준비하여 제곱과 직사각형을 제작한다.
절차. import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 5
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
b = np.power(a,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
plt.hist(b,bins=100)
plt.xlim(-3,20)
카이제곱 분포를 잘 그렸다.이것은 자유도 5의 제곱 분포다.
자유도 n의 멱 분포
1
2
3
4
5
10
위에서 말한 것을 종합하여 도표를 만들면
나는 네가 조금씩 오른쪽으로 돌고 있다는 것을 안다.import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
ans = []
for i in range(1,10,1):
print(i)
n = i
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
ans.append(b)
fig, ax = plt.subplots()
for i in range(1,10,1):
ax.hist(ans[i-1],bins=100,alpha = 0.5,label = str(i))
ax.legend()
ax.set_xlim(-3,20)
plt.show()
자유도
현재 표준 정태분포 N(0,1)에서 샘플(표본그룹)을 가져왔습니다.
전체적으로 표준정태분포 N(0,1)으로 판단한 것이다.
평균적으로 0으로 여겨지기 때문에 샘플의 분산(x_1 - 0)^2 + \cdots (x_n - 0)^2 \\
=x_1^2 +\cdots +x_n^2
네.
여기에 가령 견본(표본그룹)이 전체적인 평균치를 모른다고 가정한다.
따라서 분산도를 계산하기 위해 샘플의 평균치를 사용하기로 했다.(이것은 n-1의 유래)
실제로 아까의 프로그램을 고쳐 보아라.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 3
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
"""
サンプル分散 平均:サンプル平均
"""
average = np.mean(a,axis = 1,keepdims=True) #サンプル平均を計算
b2 = a - average #サンプル平均を引く
b2 = np.power(b2,2) #要素二乗
b2 = np.sum(b2,axis =1) #行で和を取る
fig, ax = plt.subplots()
ax.hist(b,bins=100,alpha = 0.5,label = "population average")
ax.hist(b2,bins=100,alpha = 0.5,label = "sample average")
ax.legend()
ax.set_xlim(-3,20)
plt.show()
이렇게 된 느낌으로 분포에 변화가 생겼다는 것을 알 수 있다.
n=2(표본집별 원소수 2)
3
4
5
6
수치 실험에서 샘플의 평균치로 평균치를 대체하면 제곱화의 분포는 (n-1)자유도의 제곱분포가 된다!
Reference
이 문제에 관하여(실험에서 제곱 분포를 확인하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiRina/items/5dc241d7533e1560bc49
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
確率変数 X_1,X_2,\cdots,X_n
が\\
互いに独立に標準正規分布 N(0,1)に従うとき,\\
X=X_1^2+X_2^2+\cdots +X_n^2
は自由度 n のカイ二乗分布に従う
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 5
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
b = np.power(a,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
plt.hist(b,bins=100)
plt.xlim(-3,20)
카이제곱 분포를 잘 그렸다.이것은 자유도 5의 제곱 분포다.
자유도 n의 멱 분포
1
2
3
4
5
10
위에서 말한 것을 종합하여 도표를 만들면
나는 네가 조금씩 오른쪽으로 돌고 있다는 것을 안다.import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
ans = []
for i in range(1,10,1):
print(i)
n = i
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
ans.append(b)
fig, ax = plt.subplots()
for i in range(1,10,1):
ax.hist(ans[i-1],bins=100,alpha = 0.5,label = str(i))
ax.legend()
ax.set_xlim(-3,20)
plt.show()
자유도
현재 표준 정태분포 N(0,1)에서 샘플(표본그룹)을 가져왔습니다.
전체적으로 표준정태분포 N(0,1)으로 판단한 것이다.
평균적으로 0으로 여겨지기 때문에 샘플의 분산(x_1 - 0)^2 + \cdots (x_n - 0)^2 \\
=x_1^2 +\cdots +x_n^2
네.
여기에 가령 견본(표본그룹)이 전체적인 평균치를 모른다고 가정한다.
따라서 분산도를 계산하기 위해 샘플의 평균치를 사용하기로 했다.(이것은 n-1의 유래)
실제로 아까의 프로그램을 고쳐 보아라.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 3
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
"""
サンプル分散 平均:サンプル平均
"""
average = np.mean(a,axis = 1,keepdims=True) #サンプル平均を計算
b2 = a - average #サンプル平均を引く
b2 = np.power(b2,2) #要素二乗
b2 = np.sum(b2,axis =1) #行で和を取る
fig, ax = plt.subplots()
ax.hist(b,bins=100,alpha = 0.5,label = "population average")
ax.hist(b2,bins=100,alpha = 0.5,label = "sample average")
ax.legend()
ax.set_xlim(-3,20)
plt.show()
이렇게 된 느낌으로 분포에 변화가 생겼다는 것을 알 수 있다.
n=2(표본집별 원소수 2)
3
4
5
6
수치 실험에서 샘플의 평균치로 평균치를 대체하면 제곱화의 분포는 (n-1)자유도의 제곱분포가 된다!
Reference
이 문제에 관하여(실험에서 제곱 분포를 확인하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiRina/items/5dc241d7533e1560bc49
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
ans = []
for i in range(1,10,1):
print(i)
n = i
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
ans.append(b)
fig, ax = plt.subplots()
for i in range(1,10,1):
ax.hist(ans[i-1],bins=100,alpha = 0.5,label = str(i))
ax.legend()
ax.set_xlim(-3,20)
plt.show()
현재 표준 정태분포 N(0,1)에서 샘플(표본그룹)을 가져왔습니다.
전체적으로 표준정태분포 N(0,1)으로 판단한 것이다.
평균적으로 0으로 여겨지기 때문에 샘플의 분산
(x_1 - 0)^2 + \cdots (x_n - 0)^2 \\
=x_1^2 +\cdots +x_n^2
네.여기에 가령 견본(표본그룹)이 전체적인 평균치를 모른다고 가정한다.
따라서 분산도를 계산하기 위해 샘플의 평균치를 사용하기로 했다.(이것은 n-1의 유래)
실제로 아까의 프로그램을 고쳐 보아라.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 3
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
"""
サンプル分散 平均:サンプル平均
"""
average = np.mean(a,axis = 1,keepdims=True) #サンプル平均を計算
b2 = a - average #サンプル平均を引く
b2 = np.power(b2,2) #要素二乗
b2 = np.sum(b2,axis =1) #行で和を取る
fig, ax = plt.subplots()
ax.hist(b,bins=100,alpha = 0.5,label = "population average")
ax.hist(b2,bins=100,alpha = 0.5,label = "sample average")
ax.legend()
ax.set_xlim(-3,20)
plt.show()
이렇게 된 느낌으로 분포에 변화가 생겼다는 것을 알 수 있다.
n=2(표본집별 원소수 2)
3
4
5
6
수치 실험에서 샘플의 평균치로 평균치를 대체하면 제곱화의 분포는 (n-1)자유도의 제곱분포가 된다!
Reference
이 문제에 관하여(실험에서 제곱 분포를 확인하다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiRina/items/5dc241d7533e1560bc49텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)