No.00273 逆転項目の定義について  【初心者】 2006/06/07(Wed) 10:53

統計初心者です。学生時代勉強不足を痛感しております。わからないことだらけでこの「なんでもあり」,大変頼りにさせていただいている者です。
現在,因子分析をしております。選択肢の中に明らかにプラスのものとマイナスの正確のものが混在しています。たとえば「やりがいのある仕事をしている」と「毎日の仕事が退屈だ」などです。選択肢は5件法です。
この場合,「やりがいのある仕事をしている」を54321点と得点化した場合,「毎日の仕事が退屈だ」は12345と得点化するのでしょうか。それとも信頼性アルファ係数がマイナスの相関を示した項目のみ,逆転項目として12345と得点化するのでしょうか。
初歩的な質問で恥ずかしいのですがお願いします。

No.00275 Re: 逆転項目の定義について  【青木繁伸】 06/06/07(Wed) 11:19

信頼性α係数を求めるためには,相関係数が同じ符号を持つように(意味的に同じ方向になるように)配点を逆にしなければなりません(そうしないと,得点が打ち消し合いますからね)。

因子分析の場合には,必ずしも配点を逆にしなくてもかまいません。
しかし,解釈のときに注意が必要になるし間違いやすいので,因子分析の場合も配点を逆にしておいた方が扱いやすいと思います。

No.00276 Re: 逆転項目の定義について  【初心者】 06/06/07(Wed) 14:28

青木先生

さっそくありがとうございました。

最初の信頼性アルファの相関でマイナスになった得点を逆にして,再度アルファを計算したら,別の変数が新たにマイナス相関になりました。
ひとつひとつマイナス相関になったものの得点を逆にしていくのでしょうか。それとも何かがまちがっているのでしょうか。こんなこともあるのでしょうか。

よろしくご指導ください。

No.00277 Re: 逆転項目の定義について  【にゃんちゅう】 06/06/07(Wed) 17:02

>最初の信頼性アルファの相関でマイナスになった得点を逆にして,再度アルファを計算したら,別の変数が新たにマイナス相関になりました。

たまにそういう項目があるようですが,それは全体との相関が小さい項目です。
そうであるなら,まよわず削除しましょう。

No.00278 Re: 逆転項目の定義について  【青木繁伸】 06/06/07(Wed) 17:06

意味的に考えるべきでしょう。

符号が不安定なのは,そもそもその質問群に異質なものが混じっているからでしょう。符号だけではなく,相関係数の大きさも問題ですよ。0.8が-0.7になったりすることは考えられませんが。
因子分析は一度やったら完全な結果が得られるというわけではないので,項目を削ったり,ケースを削ったり,因子数を調整したりが必要でしょう。
そうしないと,信頼性α係数を求める前提が築けませんよね。

No.00279 Re: 逆転項目の定義について  【にゃんちゅう】 06/06/07(Wed) 17:26

因子分析の結果についていっているのではなく信頼性係数についていっているのでは?
信頼性係数の場合,全体との相関がプラスになったりマイナスになったりするといっているのだから,もともと全体との相関が0.1以下などの小さな項目なのではないでしょうか。
0.4もある項目がプラスマイナス逆転するようだとそうとうおかしなことをやっているとしかいえませんね。

No.00280 Re: 逆転項目の定義について  【青木繁伸】 06/06/07(Wed) 17:39

そもそもα係数を求める前提が満たされていないから(尺度らしきものが作れていないから)混乱して いるのでしょう。意味的に考えただけでは,多因子構造がある場合などには矛盾が生じることもあるかも知れませんが。その場合も因子分析などでチェックすれ ば,因子内での符号の付け方や,因子負荷量の小さい項目は外れるでしょう。
そのような前提を築いてからで無くては,α係数を計算する意味がありません。

そ れと,α信頼性係数がマイナスになるということについて,「当該アイテムを除いたときのクロンバックの α 信頼性係数」のことを言っておられるとしたら,除いたアイテムに問題があるのではなく,残ったアイテムの中のどれかが問題を抱えている(除いたアイテム は,その問題が発現するのを押さえていた)ということですから間違えないように。

No.00281 Re: 逆転項目の定義について  【青木繁伸】 06/06/07(Wed) 18:02

ちょっと,例題を

まず最初は,に因子構造を持つ場合に変なことが起きるのと,「当該アイテムを除いたときのクロンバックの α 信頼性係数」が負になることに対応したつもりが対応にならないことの例

> set.seed(12345)
> r <- tri.mat(c(1,0.7,1,-0.5,-0.6,1,-0.2, -0.3, 0.8, 1, -0.3, -0.2, 0.6, 0.7, 1),5)
> x <- gendat(100, r)
> cor(x)
[,1] [,2] [,3] [,4] [,5]
[1,] 1.0 0.7 -0.5 -0.2 -0.3
[2,] 0.7 1.0 -0.6 -0.3 -0.2
[3,] -0.5 -0.6 1.0 0.8 0.6
[4,] -0.2 -0.3 0.8 1.0 0.7
[5,] -0.3 -0.2 0.6 0.7 1.0
> alpha(x) 項目全部を使ったα信頼性係数
[1] 0.2734375 そもそも低いが
> sapply(1:5, function(i) alpha(x[,-i])) i 番目の項目を除いた残り4項目でのα信頼性係数
[1] 0.44444444 0.47311828 0.22222222 -0.23529412 -0.07017544

4,5がマイナスになるからといって,4,5を逆転項目にしたらどうなるか
> y <- x
> y[,4:5] <- -y[,4:5]
> cor(y)
[,1] [,2] [,3] [,4] [,5]
[1,] 1.0 0.7 -0.5 0.2 0.3
[2,] 0.7 1.0 -0.6 0.3 0.2
[3,] -0.5 -0.6 1.0 -0.8 -0.6
[4,] 0.2 0.3 -0.8 1.0 0.7
[5,] 0.3 0.2 -0.6 0.7 1.0
> alpha(y)
[1] -0.05208333 あれまあ,全部を使ってもマイナス
> sapply(1:5, function(i) alpha(y[,-i]))
[1] -0.8888889 -0.7179487 0.7272727 -0.4444444 -0.7179487
一つずつ除いてみた結果は,さらに混沌としている。。。。

> factanal2(x, factors=2, rotation="varimax") 因子分析をしてみるとこんな風だとわかる
一応,二因子構造
[1] Factor loadings(rotation:varimax)
Factor1 Factor2 Communality
-0.1230278 0.80381760 0.6612586
-0.2195342 0.83700957 0.7487803
0.7554127 -0.51379546 0.8346341
0.9927157 -0.09755045 0.9950006
0.6907745 -0.14548855 0.4983363
SS.loadings 2.0966333 1.64137654 3.7380098
Proportion 41.9326652 32.82753087 74.7601961
Cum.Prop. 41.9326652 74.76019605 NA



一因子構造で変なことが起きる例は次に

No.00282 Re: 逆転項目の定義について  【青木繁伸】 06/06/07(Wed) 18:10

今度は一因子構造で,逆転項目を含む例

> set.seed(12345)
> r <- tri.mat(c(1,0.7,1,0.5,0.6,1,0.4, 0.5, 0.8, 1, -0.5, -0.3, -0.6, -0.7, 1),5)
> x <- gendat(100, r)
> cor(x)
[,1] [,2] [,3] [,4] [,5]
[1,] 1.0 0.7 0.5 0.4 -0.5
[2,] 0.7 1.0 0.6 0.5 -0.3
[3,] 0.5 0.6 1.0 0.8 -0.6
[4,] 0.4 0.5 0.8 1.0 -0.7
[5,] -0.5 -0.3 -0.6 -0.7 1.0
> alpha(x)
[1] 0.4487179
> sapply(1:5, function(i) alpha(x[,-i]))
[1] 0.17391304 -0.07017544 0.06349206 0.22222222 0.84848485

二番目の項目がおかしいと思って逆転項目にしたら
(本当は,5番目の項目を除いたら 0.848 になってまともそうに見えるのだから,
5番目がおかしいのだと言うことは,この段階で既にわかる。
しかし,逆転項目が複数個ある場合には,このαを見てもすぐにはわからない)

> y <- x
> y[,2] <- -y[,2]
> cor(y)
[,1] [,2] [,3] [,4] [,5]
[1,] 1.0 -0.7 0.5 0.4 -0.5
[2,] -0.7 1.0 -0.6 -0.5 0.3
[3,] 0.5 -0.6 1.0 0.8 -0.6
[4,] 0.4 -0.5 0.8 1.0 -0.7
[5,] -0.5 0.3 -0.6 -0.7 1.0
> alpha(y)
[1] -2.222222 よけい変になっちゃった
> sapply(1:5, function(i) alpha(y[,-i]))
[1] -2.47619048 -0.07017544 -7.55555556 -5.33333333 -0.07017544 これもひどい
> factanal2(x, factors=1, rotation="none")
[1] Factor loadings(rotation:none) 一応一因子構造
Factor1 Communality
0.5744941 0.3300435
0.6317273 0.3990793
0.8972972 0.8051422
0.8802979 0.7749243
-0.7151981 0.5115083
SS.loadings 2.8206976 2.8206976
Proportion 56.4139518 56.4139518
Cum.Prop. 56.4139518 NA

本当は,5番目の項目を逆転しないといけない
> y <- x
> y[,5] <- -y[,5]
> cor(y)
[,1] [,2] [,3] [,4] [,5]
[1,] 1.0 0.7 0.5 0.4 0.5
[2,] 0.7 1.0 0.6 0.5 0.3
[3,] 0.5 0.6 1.0 0.8 0.6
[4,] 0.4 0.5 0.8 1.0 0.7
[5,] 0.5 0.3 0.6 0.7 1.0
> alpha(y)
[1] 0.8641975
> sapply(1:5, function(i) alpha(y[,-i]))
[1] 0.8484848 0.8484848 0.8104575 0.8205128 0.8484848


めでたし,めでたし

No.00283 Re: 逆転項目の定義について  【初心者】 06/06/07(Wed) 18:59

青木先生 にゃんちゅう先生

ご指導,ありがとうございました。この問題は青木先生 ご指摘の「そもそもα係数を求める前提が満たされていないから(尺度らしきものが作れていないから)混乱しているのでしょう。」,ということだと思いま す。選択肢の作成段階でもっと勉強すべきことでした。反省しています。
先生たちのご議論についていけるよう,精進いたします。
今後ともよろしくご指導ください。 

● 「統計学関連なんでもあり」の過去ログ--- 038 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る