問題タブ [glm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rでエラーが発生してプログラムが中断した場合、他の関数に切り替える
重複の可能性:
R での例外処理
関数を使用glm.nb
して NB モデルに適合させますが、プログラムでエラーが発生することがあります。
Error in while ((it <- it + 1) < limit && abs(del) > eps) { :
missing value where TRUE/FALSE needed
その後、プログラム全体が崩壊します。ここで、このような収束の問題に対処できる別の関数を作成します (これは、尤度値が非常に大きいためです。この投稿を参照してください)。
glm.nb
私の質問は次のとおりです。関数が故障したときに自分の関数に切り替えるように R に指示するにはどうすればよいですか?
のソースコードでエラーメッセージを探して、glm.nb
その部分を修正するように言われました。しかし、私はそのようなコードを明示的に見つけられませんでした.Rで分解関数から飛び出して、いくつかのif-else
ステートメントで別の関数に切り替える簡単な方法があるのだろうか?
r - Rで2つのglmモデル間でanova()を実行するときにp値を抽出する方法
そこで、fit1 と fit2 の 2 つのモデルを比較しようとしています。
当初、私は anova(fit1,fit2) を実行していましたが、これにより、理解できる出力 (p 値を含む) が得られました。
ただし、モデルを lm() ベースのモデルから glm() ベースのモデルに切り替えたところ、anova(fit1,fit2) によって、Residual Degrees of Freedom、Residuals Deviances、および Df Deviances が得られるようになりました。これを解釈するのに苦労しています (リソースこれらの指標を説明することはほとんどないようです)。2 つのモデルを比較するために p 値を抽出したいと思っていましたが、何らかの理由で anova(fit1,fit2, test='Chisq') が機能しません。助言がありますか?
glms のリンク関数によっては、カイ 2 乗が最も適切なテストではない可能性があることを認識していますが、適切なコンテキストで「F」を使用したこともあり、同様の失望を伴いました。
この問題は他の人にもなじみがありますか? 提案?どうもありがとう!
例:
r - 二項GLMでオフセットが機能しない
を使用してロジスティック回帰を近似しようとしていglm( family='binomial')
ます。
モデルは次のとおりです。
mydata
76820の観測値があります。応答変数(f_ocur)は0-1です。
このデータはより大きなデータセットのサンプルであるため、オフセットを設定するという考え方は、ここで使用されるデータが分析対象の実際のデータのサンプルを表すことを考慮に入れることです。
何らかの理由でオフセットが機能していません。このモデルを実行すると結果が得られますが、同じモデルを実行してもオフセットがない場合は、前のモデルとまったく同じ結果が得られます。私は別の結果を期待していましたが、違いはありません。
私は何か間違ったことをしていますか?オフセットは線形予測子を使用する必要がありますか?このような:
モデルの準備ができたら、新しいデータで使用したいと思います。新しいデータは、このモデルを検証するためのデータになります。このデータには同じ列があります。私の考えは使用することです:
そして、ここに私の質問があります、予測関数はモデルを作成するために使用されるオフセットを考慮に入れていますか?そうでない場合、新しいデータの正しい確率を取得するにはどうすればよいですか?
sas - SAS proc ttest または proc glm を使用して人口統計学的変数を因数分解し、結果尺度の 2 つのグループを比較する
私は、2 つのグループを比較して結果を測定する SAS コードを作成しました (つまり、反応時間 - rt)。しかし、rt のグループ差が実際にグループ間の IQ 差によって引き起こされているかどうかをテストするために、人口統計学的尺度 (IQ) を考慮に入れたいと考えています。コードを変更する際に助けが必要です。rt で基本的なグループの違いを計算する既存のコードは次のとおりです。t-test sas 関数と glm sas 関数の両方を使用したコードを含めましたが、同様の結果が得られました。
モデルに「IQ」を含めるように t-test 関数または glm 関数を変更する方法を教えてください。
r - ロジスティック回帰におけるジャックナイフ
ロジスティック回帰によって推定された係数の不確実性を定量化するために、ジャックナイフ分析を適用することに興味があります。独立変数が 0 - 1 形式であるため、glm(family='binomial') を使用しています。
私のデータセットには 76000 個の観測点があり、7 つの独立変数とオフセットを使用しています。このアイデアには、データをたとえば 5 つのランダムなサブセットに分割し、データセットから一度に 1 つのサブセットを削除して 7 つの推定パラメーターを取得することが含まれます。次に、パラメーターの不確実性を推定できます。
手順は理解できますが、R では実行できません。
これは私がフィッティングしているモデルです:
これを可能にする方法を知っている人はいますか?
r - glm の結果をデータなしで保存する方法、または予測用の係数のみで保存する方法は?
次のRコードを使用すると、
modelfile のサイズはデータと同じくらいになり、私の場合は 1gig になります。model_glm の結果のデータ部分を削除するにはどうすればよいので、小さなファイルしか保存できません。
r - RでガンマGLMを使用してAICによるモデル選択を行うにはどうすればよいですか?
glm() のドキュメントで説明されているように、glm() によって返される値の aic コンポーネントは有効な AIC ではありません。
ガウス、ガンマ、および逆ガウス ファミリの場合、分散は残留偏差から推定され、パラメータの数は係数の数に 1 を加えた数になります。ガウス ファミリの場合、分散の MLE が使用されるため、これは AIC の有効な値ですが、ガンマおよび逆ガウス ファミリの場合はそうではありません。
したがって、有効な AIC を別の方法で取得する必要があります。
r - BMA パッケージの bic.glm にデータ エラーがあるが、glm にはエラーがない
一連の相互作用係数からポアソン モデルを推定しています。BMA パッケージの bic.glm は、モデル空間をナビゲートするのに役立ちます。何年も使っていますが、昨夜 R を 2.10.x から 2.14.2 にアップデートしたところ、動かなくなりました。エラーは次のとおりです。まず、動作する呼び出し:
bic.glm が失敗するようになりました:
繰り返しますが、この正確なコードは、5 つのシステムを持つ以前のバージョンの R で機能しました。5 つではなく 4 つの相互作用システムで bic.glm を実行すると (つまり、x5 をドロップして相互作用を折りたたむ)、bic.glm は正常に動作します。以下に 5 つのシステム データを含めます。前もって感謝します。
r - 応答変数と説明変数の両方をカウントとして使用するポアソン回帰
次の変数があります。
応答: 漁業者がリース (インおよびアウト) したクォータ単位の数。
説明: 漁業者が所有する割り当て単位の数。
GLM (ポアソン) を当てはめましたが、説明変数もカウントであることを考えると、それが正しいかどうかは完全にはわかりません。ポアソン回帰の例は、カテゴリカル変数と連続説明変数だけで見つかりましたが、カウント変数では見つかりませんでした。
そう:
- 私のデータでポアソンを正しく使用していますか? そうでない場合、どのような代替手段がありますか?
- 私のモデルの残差分散は均一ではありません。ポアソン回帰がこの問題に直面できることを理解していますか、それともこの問題に注意を払って解決する必要がありますか (たとえば、重みを使用して)?
どんな助けでも大歓迎です、
r - rms lrm オブジェクトを操作するための confint の取得
rms パッケージからのロジスティック回帰を confint() で動作させることができません。以下に例を示します。
これにより、次のエラーが発生します。
エラー: $ 演算子は原子ベクトルに対して無効です
そして traceback() は次のようになります:
lrm() モデルには confint が実装されていないと思います。
私の質問
way に代わる便利な方法はありますか? rms パッケージ用に作成された他の代替手段はありますか?