問題タブ [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.

0 投票する
0 に答える
538 参照

r - 一般化された加算モデルから滑らかな関数の表現を抽出する方法

一般化された加法モデルで適合した滑らかな関数の式を抽出する際に問題があります。

次のような加法的モデルを適合させました。

の近似平滑関数をプロットすることはできますがs(x3)、その正確な式を取得し、その導関数を取得したいと考えています。どうすればそれを達成できますか?

0 投票する
1 に答える
1237 参照

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!

0 投票する
1 に答える
4487 参照

r - mgcv による変数選択

ステップと同様に、RでGAMの変数選択を自動化する方法はありますか? step.gamとのドキュメントを読みましたがselection.gam、機能するコードの回答はまだ見ていません。method= "REML"さらに、とを試しましselect = TRUEたが、どちらもモデルから重要でない変数を削除しませんでした。

ステップ モデルを作成し、それらの変数を使用して GAM を作成できると理論化しましたが、計算効率がよくないようです。

例:

0 投票する
1 に答える
733 参照

r - mgcv::gamm() および MuMIn::dredge() エラー

mgcv関数内のパッケージを使用して複数の GAM を適合させ、モデル選択手順によって最も適切なモデルを大雑把に選択しようとしてきました。datしかし、私の関数は最初のモデルを実行し、入力データを再び認識しないようです。

エラーが発生します

is.data.frame(data) のエラー: オブジェクト 'dat' が見つかりません。

これはスコーピングの問題だと思います。私はherehereを調べましたが、解決できません。

コードとデータは次のとおりです (うまくいけば再現可能です): https://github.com/cwaldock1/Help/blob/master/test_gam.csv

どんな助けでも大歓迎です。

ありがとう、コナー

0 投票する
2 に答える
2843 参照

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を使用した統計学習へ-エラーを再現します:

ここで何が起こっているのか、またはそれを修正する方法を知っている人はいますか?

ありがとうございました。

0 投票する
1 に答える
1213 参照

r - 1 より大きく 0 より小さい GAM モデル フィッティング値のベータ ファミリ。(mgcv)

gamRのパッケージの関数を使用して、区間 (0,1) のデータに gam を当てはめていmgcvます。私のモデル コードは次のようになります。

モデルはうまく適合しますが、適合値と観測値をプロットすると、次のようになります。

ここに画像の説明を入力

明らかに、モデルは 1 より大きく 0 より小さい値を当てはめています。これは想定されていません。これは、ベータ分布の前提に違反しています。betaregRのパッケージで同じデータをモデル化した場合は発生しません。この不一致の原因は何ですか?

0 投票する
1 に答える
714 参照

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 では機能しないこのカスタム リンクには何が欠けていますか?

私が何をすべきかについてのヒントを教えていただければ、事前に感謝します。


リンク機能

0 投票する
1 に答える
8948 参照

r - mgcv: スプラインのノットの数および/または位置を設定する方法

パッケージで関数gamを使用したい:mgcv

のノットを設定できs()ますか? 次に、スプ​​ラインが使用したノットがどこにあるかを知ることができますか? ありがとう!

0 投票する
1 に答える
3645 参照

r - GAM の weight オプション

私のデータセットには多くの冗長な観測があります (ただし、各観測をカウントする必要があります)。そのため、GAM で 'weights' オプションを使用することを検討します。これにより、計算時間が大幅に短縮されます。

gam関数(mgcvパッケージ内)は、それらが「同等」であることを説明しています(?gam引数からweights):

「たとえば、重み 2 は、まったく同じ観測を 2 回行ったことに相当することに注意してください。」

しかし、それは正しくないようです。

推定値は 3 つのモデルすべてで同じです。標準誤差はモデル 2 と 3 で同じですが、モデル 1 では異なります。GCV は 3 つのモデルすべてで異なります。

GCV が異なる可能性があることは理解しています。しかし、標準誤差が異なる場合、どのようにしてモデルが同一であると言えますか? これはエラーですか、それとも何か良い説明はありますか?