プログラミングチュートリアル - ページ 18

 

R でのカイ二乗適合度検定


R でのカイ二乗適合度検定

皆さん、こんにちは。今日のセッションでは、R を使用した適合度テストについて詳しく説明します。概念をよりよく理解するために、いくつかの問題に取り組んでいきます。適合度テストに慣れていない場合は、まずこのトピックに関する私の紹介ビデオを視聴することをお勧めします (リンクは上にあります)。

最初の問題から始めましょう。ある大学は、統計のクラスに参加する学生の 50% が 1 年生、30% が 2 年生、10% が 3 年生、10% が 4 年生であると主張しています。 65 人の学生からなる単純な無作為サンプルを取得しましたが、サンプル内の分布は主張されている割合とはわずかに異なります。私たちは、これらの違いが大学の主張に対する強力な証拠を提供するのか、それともランダムな変動によるものなのかを判断したいと考えています。

R で適合度検定を実行するには、カイ二乗検定を使用します。 chi-square.test 関数のヘルプ ファイルを参照しましたが、ここでは適合度テストのみに焦点を当てます。

まず、データを入力しましょう。 years というベクトルを作成して、観測された数 (1 年生 28 人、2 年生 24 人、3 年生 9 人、4 年生) を保存します。

years <- c ( 28 , 24 , 9 , 4 )

次に、帰無仮説に基づいて予想される比率のベクトルを作成する必要があります。この場合、帰無仮説は主張された比率が正しいと仮定します。このベクトルをプロップと呼び、比率を割り当てます: 新入生に 0.5、二年生に 0.3、三年生に 0.1、上級生に 0.1。

props <- c ( 0.5 , 0.3 , 0.1 , 0.1 )

これで、関数 chi-square.test を使用してカイ二乗検定を実行できるようになりました。基本的な構文は単純です: chi.square.test(data, p = Expected_proportions)。予想される比率を指定するには、必ず p = props を含めてください。

result <- chi.square.test ( years , p = props )

検定では、自由度、カイ二乗検定統計量、および p 値が出力されます。この問題には、3 つの自由度、カイ二乗検定統計量 3.58、p 値 0.31 があります。これらの結果は、紹介ビデオで得られた結果と一致します。

p 値が 0.31 であるため、帰無仮説を棄却するのに十分な証拠がありません。したがって、サンプル分布と主張される割合との間の差異が統計的に有意であると結論付けることはできません。このデータは大学の主張と一致している。

さて、2つ目の問題に移りましょう。サイコロを 200 回振り、その結果の分布は次のようになりました。1 の目が 28 個、2 の目が 32 個などです。この分布がサイコロが不公平であるという証拠を提供するかどうかを判断したいと考えています。

先ほどと同じ手順で進めていきます。 counts というベクトルを作成して、観測されたカウント (1 が 28 個、2 が 30 個、3 が 22 個、4 が 31 個、5 が 38 個、および 6 が 51 個) を保存します。

counts <- c ( 28 , 30 , 22 , 31 , 38 , 51 )

これで、カイ二乗検定をこれらの数値に直接適用できるようになりました。

result <- chi.square.test ( counts )

検定では、自由度、カイ二乗検定統計量、および p 値が出力されます。この場合、自由度は 5、カイ二乗検定統計量は 15.22、p 値は 0.009463 です。

p 値が 0.009463 と非常に小さいため、帰無仮説を棄却する十分な証拠が得られます。したがって、観察された分布に基づいて、サイコロは重み付けされており、不公平であると結論付けることができます。

R を使用したカイ 2 乗適合度検定の説明と応用はこれで終わりです。この検定により、観測データと期待される分布の適合性を評価し、p 値に基づいて統計的推論を行うことができることを思い出してください。

Chi-Squared Goodness-of-Fit Testing in R
Chi-Squared Goodness-of-Fit Testing in R
  • 2020.11.30
  • www.youtube.com
Chi-squared testing is easy with R. Give me just five minutes, and I'll show you how to do it!If this vid helps you, please help me a tiny bit by mashing tha...
 

R での独立性のカイ二乗検定


R での独立性のカイ二乗検定

皆さん、今日のビデオでは、R を使用してカテゴリ変数の独立性についてカイ二乗検定を実行します。この目的のために chi-squared.test 関数を利用します。このビデオでは、R の同じ基礎関数を使用する適合度テストについては説明しないことに注意してください。適合度テストについて詳しく知りたい場合は、別のビデオを用意しています。そのトピック (上記のリンク)。

OpenStax の統計入門の教科書から抜粋した問題に取り組んでみましょう。この問題には、21 歳以上の成人が週に 1 ~ 9 時間ボランティアで障害のある高齢者と時間を過ごすボランティア グループが関係しています。このプログラムでは、コミュニティカレッジの学生、4年制大学の学生、非学生の3つのカテゴリーからボランティアを募集しています。分割表、つまり二元配置表があり、ボランティアの種類とボランティアの時間数という 2 つのカテゴリ変数に基づいてボランティアの分布を表示します。ボランティアの時間数は、1 ~ 3 時間、4 ~ 6 時間、および 7 時間に分類されます。 9時間まで。

ここで、R に切り替えてデータを入力し、カイ二乗検定を実行して、これらのカテゴリ変数が互いに関連しているかどうかを判断しましょう。

データを入力するには、行列関数を使用してボランティアと呼ばれる行列を作成します。データを行単位で、左から右、上から下に入力します。

volunteers <- matrix ( c ( 111 , 96 , 48 , 96 , 133 , 61 , 91 , 150 , 53 ) , nrow = 3 , byrow = TRUE )

次に、行名と列名を追加して、行列をより解釈しやすくしましょう。

row.names ( volunteers ) <- c ( "Community College Students" , "Four-Year College Students" , "Non-Students" ) colnames ( volunteers ) <- c ( "1-3 hours" , "4-6 hours" , "7-9 hours" )

これで、さまざまなカテゴリ間のボランティアの分布を表示する、視覚的に魅力的な表が完成しました。

カイ二乗検定を実行するには、関数 chi.square.test を使用します。結果をモデルなどの変数に代入すると、必要に応じて追加情報にアクセスできるようになります。

model <- chi.square.test ( volunteers )

テスト結果を表示するには、変数の名前「model」を入力するだけです。

model

検定の出力には、カイ二乗検定統計量、自由度、および p 値が含まれます。この例では、カイ二乗検定統計量 12.991、自由度 2、および一般に非常に小さい p 値が得られます。

モデル オブジェクトには、予想されるセル数や残差などの追加情報が含まれていることに注意することが重要です。必要に応じて、これらにアクセスしてさらに分析することができます。

カイ二乗検定を実行する別の方法は、行列をテーブルに変換し、要約関数を利用することです。

vol_table <- as.table ( volunteers )
summary ( vol_table )

このアプローチでは、カイ二乗検定統計量、自由度、および p 値も提供されます。

ここでは、R を使用してカテゴリ変数の独立性についてカイ二乗検定を実行するプロセスについて説明します。カイ二乗検定は、観測頻度と期待頻度に基づいて 2 つのカテゴリ変数間に有意な関連性があるかどうかを判断するのに役立つことを覚えておいてください。

Chi-Squared Testing for Independence in R
Chi-Squared Testing for Independence in R
  • 2020.12.04
  • www.youtube.com
Let's learn how to use the chisq.test() function in R to check the independence of categorical variables. If this vid helps you, please help me a tiny bit by...
 

R を使用した適合度テスト: 例


R を使用した適合度テスト: 例

今日は R を使用して適合度テストの典型的な問題に取り組みます。ここにあります:

10 人の 3 人っ子家族の無作為サンプルでは、女の子の分布は次のようになりました。

  • 12世帯には女の子がいなかった
  • 31 世帯に女の子が 1 人いた
  • 42 世帯に 2 人の女の子がいた
  • 15 世帯には 3 人の女の子がいた

問題は、そのような家族の女の子の数がパラメータ n=3 および p=0.5 の二項分布に従うという考えは妥当でしょうか?

R に切り替えましょう。ここではすでに観測値を入力しています。続行するには、期待値を計算し、それらを観測された数と比較する必要があります。まず、R の dbinom 関数を使用して取得できる、予想される比率から始めます。

家族に 0 人、1 人、2 人、または 3 人の女の子がいる場合に予想される割合は次のとおりです。

  • 女子0人で12.5%
  • 女子1人は37.5%
  • 女子2人では37.5%
  • 女子3人で12.5%

次に、予想される割合に 100 を掛けて、予想される数を計算します (合計 100 のファミリーがあるため)。

ここで、この問題を解決するための 2 つの異なるアプローチを進めてみましょう。まず、R で chisq.test 関数を使用します。この関数は、検定統計量と p 値を計算することで直接の答えを提供します。次に、プロセスをより深く理解するために、段階的に計算を実行していきます。

chisq.test の使用:

observed_counts <- c ( 12 , 31 , 42 , 15 )
expected_proportions <- dbinom ( 0 : 3 , size = 3 , prob = 0.5 )
expected_counts <- expected_proportions * 100
result <- chisq.test ( observed_counts , p = expected_proportions )
p_value <- result $ p.value print ( p_value )

得られた p 値は、帰無仮説が真であると仮定した場合に、観察したものと同じくらい極端なデータが得られる確率を示します。この場合、p 値は約 0.07232 です。

有意水準は 0.05 に設定されており、p 値はそれより大きいため、帰無仮説を棄却する十分な証拠がありません。このデータは、これらの家族の女の子の数がパラメーター n=3 および p=0.5 の二項分布に従うという仮説と一致していると結論付けることができます。

ここで、プロセスをよりよく理解するためにカイ二乗検定統計量を手動で計算してみましょう。

chi_stat <- sum ( ( observed_counts - expected_counts ) ^ 2 / expected_counts )
degrees_of_freedom <- length ( observed_counts ) - 1
p_value_manual <- 1 - pchisq ( chi_stat , df = degrees_of_freedom )
print ( p_value_manual )

手動で計算された p 値は、chisq.test を使用して得られた結果と一致し、以前の結果である約 0.07232 が確認されました。

要約すると、どちらのアプローチでも同じ結論が得られます。データは、これらの家族の女児の数がパラメータ n=3 および p=0.5 の二項分布に従うという帰無仮説と一致します。

Goodness of fit testing with R: example
Goodness of fit testing with R: example
  • 2023.01.04
  • www.youtube.com
Is it plausible that a categorical variable was sampled from a particular distribution?If this vid helps you, please help me a tiny bit by mashing that 'like...
 

R での相関テスト


R での相関テスト

こんにちは、みんな!今日は、相関テストについて説明します。このデモでは R を使用しますが、ここで説明する概念は、作業環境に関係なく、普遍的に適用できます。したがって、別のソフトウェアを使用している場合でも、そのまま使用してください。

この例では、islr2 パッケージの college データセットを使用します。すでにデータセットをロードし、titiverse パッケージを使用してテーマを最小限に設定しました。大学のデータセットの詳細な分析に興味がある場合は、説明にビデオリンクがあります。

大学データセットは 777 の観測値で構成されており、それぞれが 1995 年の大学を表しています。これには、公立または私立の指定、フルタイムの学部在籍数、卒業率などのさまざまな変数が含まれています。

私たちは、全日制学部入学者数の対数と公立大学の卒業率の間に統計的に有意な相関関係があるかどうかを判断することに焦点を当てます。私たちは、この明らかな関係が偶然によるものなのか、それとも注意を払うべき意味のある傾向なのかを知りたいと考えています。

まず、ggplot を使用して、y 軸に卒業率、x 軸に全日制学部在籍者数の対数をとった散布図を作成しました。私立大学も除外したので、公立大学のみを分析します。

さて、対数について考えてみましょう。怖がらないでください。データの規模を解釈するのに役立つだけです。この場合、値の末尾のゼロの数を示す底 10 の対数を使用しています。たとえば、対数スケールの 3.0 は 10^3、つまり 1,000 です。対数をとることで、変数間の広がりがより均一になり、ほぼ線形の関係が得られます。

相関関係は、2 つの量的変数間のほぼ線形の関係の強さを測定します。この場合、約 0.22 の正の相関があり、全日制学部入学者数が増加するにつれて卒業率も増加する傾向があることを示しています。大学の規模と卒業率との間にこの正の関係があることは驚くべきことのように思えるかもしれませんが、さらに調査する価値があります。

相関関係の範囲は -1 から 1 であるため、相関関係は比較的弱いです。相関関係 -1 は完全な負の関係を表し、相関関係 1 は完全な正の関係を表します。

ここで、R で相関テストを実行して、この相関が統計的に有意かどうかを判断してみましょう。相関テストを実行するための構文は、相関の計算に似ています。対象の 2 つの変数で cor.test 関数を使用することにより、相関関係と追加情報を取得します。

この場合、検定結果の p 値は 0.001 であり、母集団内のこれらの変数間に相関関係がなかった場合、観察された相関関係は確率的に約 0.1% のみランダムに発生することを示唆しています。このような低い確率は、観察された相関関係が統計的に有意であることを示しており、全日制学部入学者数の対数と公立大学の卒業率の間に相関関係があると結論付けることができます。

ここで、テスト自体をもう少し詳しく見てみましょう。これは、サンプル データで観察された相関関係がランダムな偶然に合理的に起因する可能性があるかどうかを検証します。このテストは、変数間の線形関係と観測値の独立性を前提としているため、時系列データには適していません。さらに、データは二変量正規分布に従うと想定していますが、完全な正規性からの逸脱は一般に許容されます。

この相関検定は、母集団相関がゼロであるという帰無仮説を具体的に検定することに注意することが重要です。ゼロ以外の相関をテストするために使用することはできません。

内部では、検定では、観察されたサンプル相関として計算される R と呼ばれる検定統計量が使用されます。この統計は、相関ゼロの帰無仮説が仮定され、n-2 自由度のスチューデントの t 分布に従います。 n-2 で示される自由度はサンプル サイズ (n) に依存し、推定に利用できる独立した観測値の数によって決まります。

この検定では、母集団相関の信頼区間も提供されます。この場合、95% 信頼区間の範囲は 0.087 ~ 0.354 です。この間隔により、標本データに基づいた母集団相関の妥当な値の範囲が得られます。区間にはゼロが含まれていないため、母集団相関は正である可能性が高いと推測できます。

相関関係は因果関係を意味するものではないことに注意してください。 2 つの変数間に相関関係が観察されたからといって、一方の変数が他方の変数を変化させるという意味ではありません。相関関係は単に変数間の関係を示しますが、因果関係を確立するには追加の調査と分析が必要です。

相関関係を視覚化するには、散布図に回帰直線を追加します。回帰直線は、データ ポイントを通る最適な直線を表し、関係の一般的な傾向を示します。引数method = "lm"を指定してggplotのgeom_smooth関数を使用すると、プロットに回帰直線を追加できます。

これで、データ ポイントに適合した回帰直線が表示されます。これは、公立大学における全日制学部入学者数の対数と卒業率との間の正の関係を視覚的に表したものです。

要約すると、フルタイムの学部入学者数の対数と公立大学の卒業率の間に統計的に有意な関係があるかどうかを判断するために、相関テストを実施しました。テスト結果は、p 値 0.001 の正の相関を示し、有意な関係を示唆しています。ただし、相関関係は因果関係を意味するものではなく、因果関係を確立するにはさらなる分析が必要であることに注意してください。

相関テストは統計分析における貴重なツールであり、変数間の関係を調査し、潜在的な傾向や関連性を特定することができます。これは、情報に基づいた意思決定を行い、データに基づいて有意義な結論を導き出すのに役立ちます。

Correlation testing in R
Correlation testing in R
  • 2023.03.29
  • www.youtube.com
Does a sample correlation imply a population correlation, or could the observed data just be due to random chance? Let's get into it!If this vid helps you, p...
理由: