2つの値(0または1)を取ることができる従属変数を予測するための予測子の大規模なセット(43,000以上)があります。観測数は45,000以上です。ほとんどの予測子は、単語のユニグラム、バイグラム、およびトライグラムであるため、それらの間には高い共線性があります。私のデータセットにも多くのスパース性があります。私が持っている種類のデータセットで機能するglmnetパッケージからのロジスティック回帰を使用しています。私の問題は、予測変数のp値の有意性をどのように報告できるかです。ベータ係数を取得しましたが、ベータ係数が統計的に有意であると主張する方法はありますか?
これが私のコードです:
library('glmnet')
data <- read.csv('datafile.csv', header=T)
mat = as.matrix(data)
X = mat[,1:ncol(mat)-1]
y = mat[,ncol(mat)]
fit <- cv.glmnet(X,y, family="binomial")
もう1つの質問は、デフォルトのalpha = 1、投げ縄ペナルティを使用しているため、2つの予測子が同一線上にある場合、投げ縄がそれらの1つをランダムに選択し、他に0のベータ重みを割り当てるという追加の問題を引き起こします。また、類似性の高い係数を、相関係数の1つを選択するのではなく、それらに割り当てるリッジペナルティ(alpha = 0)を試しました。ただし、なげなわペナルティモデルでは、リッジペナルティモデルよりもはるかに低い逸脱度が得られます。共線性が非常に高い両方の予測子を報告できる他の方法はありますか?