質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

6579閲覧

F分布表(パーセント点)の読み方

arron

総合スコア34

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/20 07:37

Pythonを使って統計学の再学習をしている中で、F分布の事例で理解できないところがありました。

「統計学入門」東京大学出版会, p209
<例>母分散が同一の正規母集団からm=10, n=15の標本を抽出した。この仮定のもとではF=s1^2/s2^2であるから, 二つの標本分散について, s1^2がs2^2の2倍以上となる確率はP(F>2)=0.1となる.

上記事例で0.1の求め方がわかりません。巻末の付表には、F分布表(パーセント点)α=0.05, 0.025, 0.01, 0.005があります。
自由度v1=10-1=9, v2=15-1=14として求めていくのかと思いますが、α=0.05: 2.646, α=0.025:3.209, α=0.01:4.030, α=0.005:4.717となっており、どうやって0.1にたどり着くのかがわかりません。
どなたかお詳しい方、ご教示ください。
よろしくお願いいたします。

レベルが低いですし、テラテイルに適した質問でないかもしれません。すみません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

母分散が同一の正規母集団からm=10, n=15の標本を抽出
という条件で、F>2となる累積分布関数を求めればいいのかな
pythonでということなので、モジュールを探してみました。scipyのf.sfを使うと良いようです。(間違ってたらすみません)
scipy.stats.f

python3

1from scipy.stats import f 2m = 10 3n = 15 4F = 2 5print(f.sf(F, dfn=m-1, dfd=n-1)) 6# 0.11825764574839932

追記

α=0.1以上の分布表がないので作ってみました。

python3

1from scipy.stats import f 2import pandas as pd 3import matplotlib.pyplot as plt 4m_max = 10 5n_max = 15 6a = 0.1 7 8def F(a, m, n): 9 return f.ppf(1-a, dfn=m-1, dfd=n-1) 10df = pd.DataFrame({m-1:[round(F(a, m, n),3) for n in range(2,n_max+1)] for m in range(2,m_max+1)}, index=[*range(1,n_max)]) 11fig, ax = plt.subplots() 12ax.axis('off') 13ax.axis('tight') 14ax.table(cellText=df.values, 15 colLabels=df.columns, 16 rowLabels=df.index, 17 loc='center', 18 bbox=[0,0,1,1]) 19plt.title(f"α = {round(a,2)}") 20plt.savefig(f'table_α={round(a,2)}.png')

下の表はα=0.05, 0.1, 0.2のF分布表です。(0.05はお持ちの本と同じ内容だと思います)
右下の自由度9&14のFの値が、2以上で2に一番近くなるのがα=0.1というのがわかると思います。
0.05
0.1
0.2

投稿2020/10/20 08:21

編集2020/10/21 00:24
jeanbiego

総合スコア3966

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

arron

2020/10/20 23:19

ありがとうございました。 質問の書き方がよくなかったのですが、アナログで巻末の付表、F分布表から回答する場合にはどうしたら良いか、という主旨でした。 一方、Python のモジュールからの算出方法も教えていただいたのは助かりました!
jeanbiego

2020/10/21 00:26

追記しました。該当の本が付表にないαの値を持ち出してる理由は不明ですが、多分こういうことでいいんじゃないでしょうか。
arron

2020/10/21 01:21

分布表を作ってしまうなんて、すばらしいです!確かにPython だと分布表を作るのもあっという間ですね。目から鱗です。 巻末の付表しかない場合どうやって導き出すことを想定して書いていたんでしょうね?おそらく何らかの手段はあるのだとは思うのですが。 この本は色々な角度から深く考えさせてくれるため理解が深まる良書だとは思いますが、単に「自明」など、あまりに突き放した記載が散見され、難儀しております。 一旦、BA付けさせていただきます。付表からの算出方法について何か気が付かれましたらまたご教示下さい。 お世話になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問