Rの正規性または分散の等値性のないデータで双方向ANOVAを実行する方法は?


16

現在、修士論文に取り組んでおり、SigmaPlotで統計を実行することを計画しています。しかし、データにしばらく時間を費やした後、SigmaPlotが問題に合わない可能性がある(間違っている可能性がある)という結論に達しました。

計画では、3つの異なるタンパク質とそれらの8つの異なる処理から得られる私のデータに対して単純な2因子分散分析を実行することでした。そのため、私の2つの要因はタンパク質と処理です。両方を使用して正常性をテストしました

> shapiro.test(time)

そして

> ks.test(time, "norm", mean=mean(time), sd=sqrt(var(time)))

どちらの場合も(驚くことではないかもしれませんが)、私は非正規分布になりました。

これにより、分散の等式に使用するテストの最初の質問が残りました。思いついた

> chisq.test(time)

その結果、データにも分散の等値性がありませんでした。

さまざまなデータ変換(ログ、中央、標準化)を試しましたが、それらはすべて分散の問題を解決しませんでした。

今、私は途方に暮れています。どのタンパク質とどの治療法が互いに有意に異なるかをテストするためにANOVAを実施する方法です。Kruskal-Walis-Testについて何かを見つけましたが、それは1つの要因(?)だけです。また、ランキングやランダム化についても発見しましたが、Rでそれらの手法を実装する方法はまだありません。

誰かが私がすべきことを提案していますか?

編集:あなたの答えに感謝します、私は読書に少し圧倒されます(それはちょうどより少なくよりむしろますます得ているようです)、しかし、私はもちろん続けます。

提案されたデータの例を次に示します(形式が非常に残念で、別の解決策やファイルを置く場所がわかりませんでした。私はまだこのすべてに慣れていません。):

protein treatment   time  
A   con 2329.0  
A   HY  1072.0  
A   CL1 4435.0  
A   CL2 2971.0  
A   CL1-HY sim  823.5  
A   CL2-HY sim  491.5  
A   CL1+HY mix  2510.5  
A   CL2+HY mix  2484.5  
A   con 2454.0  
A   HY  1180.5  
A   CL1 3249.7  
A   CL2 2106.7  
A   CL1-HY sim  993.0  
A   CL2-HY sim  817.5  
A   CL1+HY mix  1981.0  
A   CL2+HY mix  2687.5  
B   con 1482.0  
B   HY  2084.7  
B   CL1 1498.0  
B   CL2 1258.5  
B   CL1-HY sim  1795.7  
B   CL2-HY sim  1804.5  
B   CL1+HY mix  1633.0  
B   CL2+HY mix  1416.3  
B   con 1339.0  
B   HY  2119.0  
B   CL1 1093.3  
B   CL2 1026.5  
B   CL1-HY sim  2315.5  
B   CL2-HY sim  2048.5  
B   CL1+HY mix  1465.0  
B   CL2+HY mix  2334.5  
C   con 1614.8  
C   HY  1525.5  
C   CL1 426.3  
C   CL2 1192.0  
C   CL1-HY sim  1546.0  
C   CL2-HY sim  874.5  
C   CL1+HY mix  1386.0  
C   CL2+HY mix  364.5  
C   con 1907.5  
C   HY  1152.5  
C   CL1 639.7  
C   CL2 1306.5  
C   CL1-HY sim  1515.0  
C   CL2-HY sim  1251.0  
C   CL1+HY mix  1350.5  
C   CL2+HY mix  1230.5

2
Rを使って順調に進んでいるように見えますが、私はあなたの困難がRに関係していないかもしれないと感じています。問題を把握するために、まず統計学者に相談する必要がある場合は、実際に対処する必要があります。あなたの現在の質問はかなり精巧で、人々がそれを強打するのを思いとどまらせるかもしれません。技術的な部分については、ここにいくつかのサイトがあります:ats.ucla.edu/stat/R/seminars/Repeated_Measures/…およびpersonality-project.org/R/r.anova.html
RomanLuštrik12年

4
ランクテストの非常に優れた代替方法は、置換ANOVA(uvm.edu/~dhowell/StatPages/More_Stuff/Permutation%20Anova/…)を使用することです。そのアプローチでは、不均一分散は重要ではありません。ランクテストを使用する主な理由は、計算がはるかに簡単だからです。それはもはや問題ではありません。Rと効率的なコンピューターがあります
ミッコ

1
返信とは何ですか?応答が正規分布であるかどうかは実際には気にしないことに注意してください-分析からの残差が同様の分散でほぼ正規であるかどうかを確認する必要があります。しかし、実際に治療効果がある場合、応答がわずかに正規分布することは期待できません。
デイソン

1
投稿したデータを取得し、双方向anovaを実行し、残差に対してshapiro wilksテストを実行したところ、p値が0.5022であり、あまり心配する必要はないことに注意してください。
デイソン

1
@Sabineの正規性は、ANOVAに関しては大きな問題ではありませんが、サンプルは同じ母集団から取得する必要があります。つまり、分散の等式は、当然、ランダム化後の最も重要な仮定です。分散がほぼ等しくない場合は、何かを行う必要があります(試してみてください?bartlett.test
ミッコ

回答:


12

これは回答というよりもコメントに近いかもしれませんが、コメントとしては当てはまりません。ここでお手伝いできる場合がありますが、これには数回の反復が必要になる場合があります。もっと情報が必要です。

まず、応答変数は何ですか?

第二に、あなたの応答の周辺分布がないことに注意してくださいません正常であることが持っている、モデル(すなわち、残差)のではなく配布条件はする必要があります-あなたがあなたの残差を検討していることが明確ではありません。さらに、正規性は線形モデル(ANOVAなど)の最も重要でない仮定です。残差は完全に正常である必要はありません。通常、正規性のテストは価値がありません(CVの説明についてはこちらを参照してください)。プロットははるかに優れています。残差のqqプロットを試します。でRこれに行われているqqnorm()か、してみてくださいqqPlot()carパッケージ。また、残差が非正常である方法を検討する価値があります。特に、スキューがグループ間で方向を変える場合、スキューネスは過剰な尖度よりも損傷が大きくなります。

本当に心配する価値のある問題がある場合、変換は良い戦略です。生データのログを取ることは1つのオプションですが、唯一のオプションではありません。この意味では、センタリングと標準化は実際の変換ではないことに注意してください。Box&Cox系列のパワー変換を調べます。そして、覚えておいて、結果は完全に正常である必要はなく、ただ十分に良い。

次に、分散の均一性のためのカイ2乗検定の使用には従いませんが、完全にうまくいくかもしれません。私はあなたが使うことをお勧めルビーン検定(使用leveneTest()中のcar)。異質性は非正規性よりも有害ですが、不均一性が小さい場合、ANOVAは非常に堅牢です。標準的な経験則では、大きな問題を引き起こすことなく、最大グループ分散は最小グループ分散の最大4倍になります。優れた変換は、不均一性にも対処する必要があります。

これらの戦略が不十分である場合、ノンパラメトリックアプローチを試みる前に、おそらく堅牢な回帰を検討します。

質問を編集してデータについて詳しく説明できる場合は、これを更新してより具体的な情報を提供できる場合があります。


2番目の点として、最近、この問題を明確にするのに役立つ回答をここに書きました。あなたはそれを読みたいかもしれません。
GUNG -復活モニカ

8

注:この回答は、質問がSOから移行およびマージされる前に投稿されたため、ここでは説明されていない詳細が質問に追加されています。

さまざまなアプローチがあり、この質問はこのサイトの他の場所で取り上げられています。以下は、サイト上の他の質問へのリンクといくつかのリファレンスを含む、いくつかのアプローチのリストです。

  1. Box-Cox累乗変換は、非線形スケールの残差を正規化できます
  2. ランク付けされたデータのANOVAは非常に簡単ですが、パワーが低下し、解釈が困難です。参照コノバーとイマン、(1981)
  3. 比例オッズ順序ロジスティックモデル
  4. 順列試験(アンダーソンおよびブラーク2003 TER)に実装によって記載アンダーソンとしてadonis関数Rビーガンパッケージ
  5. ブートストラップ
  6. 階層型ベイジアンモデリング(Gelman 2005

+1、これは利用可能ないくつかのオプションの素晴らしいリストです。
GUNG -復活モニカ

以下は、元々Stack Overflowで交換されたコメントで、移行中に何らかの形で失われます。meta.stats.stackexchange.com/q/1157/930を参照してください。
-chl

アンダーソンとブラークのアイデアの実装があるかどうか知っていますか?- ヘンリック 5月16日15時15分
12

@Henrik FORTRAN Anderson 2005にはadonisVeganRパッケージのR関数を介して利用可能な実装があります/ デビッド 5月16日16:20
chl

ありがとう。adonis単変量dvでも機能するようです。ただし、Terms added sequentially (first to last)実行するたびにメッセージが表示されるため、タイプ1の平方和のようなものを使用しているように感じます。あなたはそれを使ったことがありますか、それについて何か言うことができますか?- ヘンリック 5月16日17:03
chl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.