[解決済み] JAGSモデルで親と矛盾するノード (R)
2022-02-17 19:54:53
質問事項
JAGSを初めて使うのですが、簡単なロジスティック回帰を実行しようと思っています。私のデータファイルは非常にシンプルで、応答はバイナリで、私が使用している1つの予測変数は3つのレベルを持っています。このような感じです。
col1: 1 2 2 2 1 1 1 2 1 2 ...
col2: HLL, HLL, LHL, LLL, LHL, HLL ...
ダミーコーディング
のレベルは
col2
は
HLL, LHL, LLL
. ダミーコーディングして、こんな感じのデータフレームを作りました。
(intercept) HLL LHL LLL
1 1 0 0 1
2 1 0 0 1
4 1 0 0 1
5 1 0 1 0
6 1 0 1 0
7 1 0 0 1
データ一覧
私のデータファイル(
myList
) では、次のようになる。
List of 5
$ y : num [1:107881] 2 2 2 2 2 2 2 2 2 2 ...
$ N : num 500
$ HLL: num [1:107881] 0 0 0 0 0 0 0 0 0 0 ...
$ LHL: num [1:107881] 0 0 0 1 1 0 0 0 0 1 ...
$ LLL: num [1:107881] 1 1 1 0 0 1 1 1 1 0 ...
を使っています。
N=500
というのも、フルデータフレームが巨大なので、それをテストしたいだけなのです。
モデル
cat(
"model {
for( i in 1 : N ){
y[i] ~ dbern(mu[i])
mu[i] <- 1/(1+exp(-(a + b*HLL[i] + c*LHL[i] + d*LLL[i])))
}
a ~ dnorm(0, 1.0e-12)
b ~ dnorm(0, 1.0e-12)
c ~ dnorm(0, 1.0e-12)
d ~ dnorm(0, 1.0e-12)
}", file = "model.txt"
)
実行中のモデル+エラー
model = jags.model(file = "model.txt",
data = myList,
n.chains = 3, n.adapt = 500)
表示されるエラー
Error in jags.model(file = "model.txt", data = antPenList, n.chains = 3, :
Error in node y[1]
Node inconsistent with parents
解決方法は?
dbern分布は、あなたがコード化したように{1,2}ではなく{0,1}での応答を期待します。したがって、あなたのyの値から1を引く必要があります。
dbern は通常、他の応答値に対してエラーを出さないので、このエラーが出るのは少し不思議です(基本的に <0 = 0 と >1 = 1 にします)。このエラーはおそらく、レスポンスがすべて同じ値にフィットしていることに起因していると思われますが、それでも直らない場合は、次のことを試してみてください。
1) a/b/c/d のプリオールの精度を少し上げてみる - 10^12 の分散はかなり大きいです。
2) その代わりに
mu[i] <- 1/(1+exp(-(a + b*HLL[i] + c*LHL[i] + d*LLL[i])))
書くことができる。
logit(mu[i]) <- -(a + b*HLL[i] + c*LHL[i] + d*LLL[i])
また、JAGSがこれをGLMとして認識し、適切なサンプラーを起動するのに役立つかもしれません - glmモジュールをロードすることを忘れないでください。
3) a/b/c/dに、データと漠然とした整合性のある初期値を設定する(おそらくRのglm()でフィットして得られたものである)。
関連
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】Rでの関数の最適化(L-BFGS-Bでは'fn'に有限の値が必要)。
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】Rヒストグラムの範囲エラー:いくつかの'x'がカウントされない; 'break'が'x'の範囲に及ばないかもしれない
-
[解決済み】Rでデータフレームのサブセットをプロットする方法は?
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】.External.graphics Rでエラーが発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】数学関数への非数値引数
-
[解決済み】エラー。Rの次元数が正しくない
-
[解決済み】エラー:ベクターメモリの枯渇(制限に達したか) R 3.5.0 macOS
-
[解決済み】reshape2 meltの警告メッセージ
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】Rで相対的な頻度をプロットするためにhistをどのように使用しますか?
-
[解決済み】"object not interpretable as a factor "というエラーの意味は?[クローズド]