No.06910 Re: Zスコア化した値の差 【青木繁伸】 2008/06/27(Fri) 09:18
どのようなデータがどのようなグラフになったのか分からないので微妙ですけど。
そもそも,有り無しデータですよね。それを正規化するというのはなんとなく無駄というかおかしいというか変な感じですね。
> このZスコアを利用して,例えばWelchの検定などをすることは適切か
正規変換は線形変換なので,変換しようとしまいと Welch の検定などでは,同じ P 値になるでしょう?> g <- c(1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2) # 群識別> 治療前後での各Zスコアの差を降順・昇順に並べて
> x <- c(1,1,1,1,1,0,0,0,0,0, 1,1,0,0,0,1,0,0,0,0) # 10個ずつのデータ
> x
[1] 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 # このデータを検定
> t.test(x~g) # デフォルトでウェルチの方法による検定
Welch Two Sample t-test
data: x by g
t = 0.8847, df = 17.865, p-value = 0.3881 # ★ このP値と比較
中略
> x2 <- as.vector(scale(x)) # データを正規化
> x2 # こんなふうなデータになる
[1] 1.1937336 1.1937336 1.1937336 1.1937336 1.1937336
[6] -0.7958224 -0.7958224 -0.7958224 -0.7958224 -0.7958224
[11] 1.1937336 1.1937336 -0.7958224 -0.7958224 -0.7958224
[16] 1.1937336 -0.7958224 -0.7958224 -0.7958224 -0.7958224
> t.test(x2~g)
Welch Two Sample t-test
data: x2 by g
t = 0.8847, df = 17.865, p-value = 0.3881 # ★ 上と同じP値
後略
マクネマー検定でカイ二乗値(P値)を見た方がよいのでは?カイ二乗値(P値)を比較してはいけないとよく言われるけど,今の場合はデータ組数が同じ(殆ど同じ)になるので,効果量を求めるのと同じだと思いますが。
No.06915 Re: Zスコア化した値の差 【AC】 2008/06/27(Fri) 17:22
返答ありがとうございます。
有り無しデータではなくて,例えば以下のようなデータです。
x1 <- c(11.71268557, 6.298463813, 4.59479342, 13.17745628, 25.45716748, 15.61650817, 11.9174197, 52.34573175)
g <- c(1,1,1,1, 2,2,2,2) # 1: Pre, 2: Post
この場合,Rでのマクマネー検定は,どのようなものになるでしょうか。
ちなみに感覚的には,これらの数値は発現量の相対値で,治療前後で差が
ありそうなのですが,paired t-testをしても有意差が出ないんですね。。
No.06916 Re: Zスコア化した値の差 【AC】 2008/06/27(Fri) 17:25
>正規変換は線形変換なので,変換しようとしまいと Welch の検定などでは,同じ P 値になるでしょう?
これは仰る通りですね。Rは使いこなせていませんが,as.vector(scale(x))とかで簡単に正規化できるのですね。わざわざ専用のパッケージを読み込んだりしてました。
No.06917 Re: Zスコア化した値の差 【青木繁伸】 2008/06/27(Fri) 17:33
> 有り無しデータではなくて,…この場合,Rでのマクマネー検定は,どのようなものになるでしょうか。
すみませんねー。
質問にデータの様子が詳しく書かれていないので,私が誤解しただけです。
連続データでマクネマー検定があるわけないです。
でも,
> 以下のようなデータ
って,発現比率なんですか?発現比率なら,カウントデータで扱う方が言いと思う。(まあ,どうでもいいけど)
> 感覚的には,これらの数値は発現量の相対値で,治療前後で差がありそうなのですが,paired t-testをしても有意差が出ないんですね
出ないならそちらの方が正しくて,感覚が間違えていたのですね。
なお,実質的な差があるのに検定で有意にならないというなら,データが足りないんでしょう。パワーアナリシスして,必要なデータ数を計算する方がよいですね。
No.06918 Re: Zスコア化した値の差 【AC】 2008/06/27(Fri) 18:04
確かにデータが足りませんねぇ。臨床データなのでなかなか理想通りにはいきませんが,色々と情報を得ることが出来ました。McNemar testは使ったことなかったのですが,対応のある2値型データの際には,検討しようと思います。
ありがとうございました。
No.06921 Re: Zスコア化した値の差 【AC】 2008/06/27(Fri) 22:37
すみません。以下の箇所を見落としていました。後学のためにもう少しだけお付き合いいただければと思います。
>> 以下のようなデータ
>って,発現比率なんですか?発現比率なら,カウントデータで扱う方が言いと思う。(まあ,どうでもいいけど)
確かにraw dataは発現比率です。変動の大きい例ですと以下のような感じです。
x1 <- c(423.1, 37.1, 776.0, 876.1, 151.1, 255.1, 2896.3, 3292.5)
g <- c(1,1,1,1, 2,2,2,2) # 1: Pre, 2: Post
こ の発現比率というのが,そもそも実験で得られた`raw data`の治療前後での値の差をdとすると,発現比率が2^dで与えられるような系での値なので,このように範囲が大きくなる傾向があります。なので, 正規化に関しては,底2でlog-transformしたものをZスコア化するという手順を踏みました。実際に,この系で,そのように処理してその後の議 論を進めていった論文があります。
>発現比率なら,カウントデータで扱う方が言いと思う
とのことですが,何か統計学的に,Z値で見ると差の抽出が不利になるような根拠とかありますでしょうか。確かに,感覚的には,カウントデータの方が,差をダイレクトに表しているわけで,一理あると思います。
#log2で変換したら,もはや線形変換ではなくのでP値も違ってきますね。この場合,定義域が狭くなるので,差は検出しにくい傾向になると思いますが如何でしょうか。
No.06923 Re: Zスコア化した値の差 【青木繁伸】 2008/06/27(Fri) 23:19
簡単なことで言えば,例えば,100例中の35例に陽性反応が見られたというのを単に35%に陽性反応が見られた という1つの数値で表すと,何例中の35%かという情報が失われますね。100例中の35例も10000例中の3500例も同じ扱いになってしまいます。 それでよい訳はありませんね。
対数を取ると正規分布するようなデータは対数正規分布といいますね。そのようなデータは,対数を取ってから分析するとよいというようなこともあるでしょう。
> 定義域が狭くなるので,差は検出しにくい傾向になると思いますが
定義域が狭くなると,データの分布も狭くなるので,一概に差が検出しにくくなるわけではありません。むしろ,データが正規分布に従うことを仮定するような分析・検定においては対数変換により正規分布になるならそのようにした方が良いとは思います。
No.06924 Re: Zスコア化した値の差 【AC】 2008/06/27(Fri) 23:26
すみません,表現が悪かったです。ある基本となる値に対して補正した値を,相対値として扱っています。なので,数値が423.1だとすると,それは基準値に対して発現量が423倍ということです。ほんとかいなという値ですが,計算上はそうなります。
>100例中の35例〜10000例中の3500例〜35%
では確かに情報量が失われますね。Zスコア化とはそういう欠落を伴うものかどうか,考えてみたいと思います。
● 「統計学関連なんでもあり」の過去ログ--- 041 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る