問題タブ [mgcv]
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 - 一般化された加算モデルから滑らかな関数の表現を抽出する方法
一般化された加法モデルで適合した滑らかな関数の式を抽出する際に問題があります。
次のような加法的モデルを適合させました。
の近似平滑関数をプロットすることはできますがs(x3)
、その正確な式を取得し、その導関数を取得したいと考えています。どうすればそれを達成できますか?
r - mgcv: predict.gam() gives different results for type = "terms" and type = "response"
I want to evaluate each component of the predictor from a GAM model separately using the option type="terms"
. As a sanity check, I compared the results to an evaluation of the total prediction using the option type="response"
.
It turns out that the results differ. Here is an example:
Can anyone help me with this problem? Thank you very much for your help!
r - mgcv による変数選択
ステップと同様に、RでGAMの変数選択を自動化する方法はありますか? step.gam
とのドキュメントを読みましたがselection.gam
、機能するコードの回答はまだ見ていません。method= "REML"
さらに、とを試しましselect = TRUE
たが、どちらもモデルから重要でない変数を削除しませんでした。
ステップ モデルを作成し、それらの変数を使用して GAM を作成できると理論化しましたが、計算効率がよくないようです。
例:
r - mgcv::gamm() および MuMIn::dredge() エラー
mgcv
関数内のパッケージを使用して複数の GAM を適合させ、モデル選択手順によって最も適切なモデルを大雑把に選択しようとしてきました。dat
しかし、私の関数は最初のモデルを実行し、入力データを再び認識しないようです。
エラーが発生します
is.data.frame(data) のエラー: オブジェクト 'dat' が見つかりません。
これはスコーピングの問題だと思います。私はhereとhereを調べましたが、解決できません。
コードとデータは次のとおりです (うまくいけば再現可能です): https://github.com/cwaldock1/Help/blob/master/test_gam.csv
どんな助けでも大歓迎です。
ありがとう、コナー
r - R plot.gam エラー "1:object$nsdf のエラー: 長さ 0 の引数"
gam パッケージで作成した gam オブジェクトを R でプロットしようとしています。plot.gam を使用すると、 Error in 1:object$nsdf : argument of length 0 で報告されたのと同じエラーが表示されます。ただし、そこにある解決策、最新バージョンへの更新 (と思います) は、私にとってはうまくいきません。R 3.3.1、gam 1.12、および mgcv 1.8.12 を実行しています (mgcv は plot.gam 関数の元です)。
残念ながら、作業中のデータを共有することはできません。ただし、次のコード -- Intro の p.294 から直接引っ張ってきました。Rを使用した統計学習へ-エラーを再現します:
ここで何が起こっているのか、またはそれを修正する方法を知っている人はいますか?
ありがとうございました。
r - カスタム リンク機能は GLM では機能しますが、mgcv GAM では機能しません
答えが明らかな場合は申し訳ありませんが、mgcv.gam でカスタム リンク関数を使用するのにかなりの時間を費やしました。
要するに、
- パッケージpsyphyから変更された probit リンクを使用したい (使用したいpsyphy.probit_2asym、私はそれを呼び出します
custom_link
) このリンクを使用して {stats} family オブジェクトを作成し、それを glm の「family」引数で使用できます。
m <- glm(y~x, family=binomial(link=custom_link), ... )
{mgcv}gam の引数として使用すると動作しません
m <- gam(y~s(x), family=binomial(link=custom_link), ... )
エラーが発生します
Error in fix.family.link.family(family) : link not recognised
このエラーの理由はわかりません。標準を指定すると、glm と gam の両方が機能しますlink=probit
。
したがって、私の質問は次のように要約できます。
glm では機能するが gam では機能しないこのカスタム リンクには何が欠けていますか?
私が何をすべきかについてのヒントを教えていただければ、事前に感謝します。
リンク機能
r - mgcv: スプラインのノットの数および/または位置を設定する方法
パッケージで関数gam
を使用したい:mgcv
のノット数を設定できs()
ますか? 次に、スプラインが使用したノットがどこにあるかを知ることができますか? ありがとう!
r - GAM の weight オプション
私のデータセットには多くの冗長な観測があります (ただし、各観測をカウントする必要があります)。そのため、GAM で 'weights' オプションを使用することを検討します。これにより、計算時間が大幅に短縮されます。
gam
関数(mgcv
パッケージ内)は、それらが「同等」であることを説明しています(?gam
引数からweights
):
「たとえば、重み 2 は、まったく同じ観測を 2 回行ったことに相当することに注意してください。」
しかし、それは正しくないようです。
推定値は 3 つのモデルすべてで同じです。標準誤差はモデル 2 と 3 で同じですが、モデル 1 では異なります。GCV は 3 つのモデルすべてで異なります。
GCV が異なる可能性があることは理解しています。しかし、標準誤差が異なる場合、どのようにしてモデルが同一であると言えますか? これはエラーですか、それとも何か良い説明はありますか?