問題タブ [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 に答える
310 参照

r - 乱雑な曲線へのスプラインのフィッティング

ポイントが完全に滑らかではないシミュレーションから生成されたトレードオフ曲線があります。スプラインに合わせて最大値を計算したいと思います。ポイントのギザギザの性質により、特にピーク付近では、曲線全体にスプラインを当てはめることは意味がありません。代わりに、より適切なスプラインに適合できるように、曲線のほとんどの (すべてではない) 有益でない部分 (ポイントが均一に増加/減少していない部分) を破棄したいと考えています。

3 つの曲線の例を次に示します。

これが私のspline機能です。

ポイントの変動が大きい曲線の部分に焦点を当て、それらにスプラインを合わせることができるようにするアルゴリズムまたはアイデアを誰かが提案できますか(そして、寄与しないピークの両側の他のポイントを破棄します)詳しくは)?

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

r - GAMの見積もりを抽出する

私はRにかなり慣れておらず、現在、「Generalized Additive Models」という本、Introduction with R by Wood(2006)を読んで、いくつかの演習、特に私の関心分野である大気汚染と死に関する部分を読んでいます。mgcvパッケージを使用して、次のモデルを実行します。

pm10medianとxの95%CIの効果推定値を抽出し、出力をCSVまたはその他のオプションにエクスポートするにはどうすればよいですか?

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

r - T-SQLにGAMを実装する

Rを使用してすべてのモデルを構築しますが、スコアリングするデータセットは通常2,000万以上の観測値であるため、T-SQLを使用してすべてのデータセットをスコアリングします。mgcvパッケージからGAMオブジェクトを取得し、ロジスティックおよび線形回帰モデルとほぼ同じ方法でT-SQLにコーディングする方法を理解しようとしています。ギブゲームオブジェクトについて知っておく必要があると思うことは、各予測子に使用された平滑化のタイプ、各スプラインのノットなどです。ご協力いただければ幸いです。

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

r - GAM スムーズ オブジェクトから導関数を決定する

私は、単一変数 (「AVERAGE」) の年間平均で構成される非常に単純な時系列データ セットを持っています。時系列の「トレンド」成分の変化率 (1 次導関数) と加速度 (2 次導関数) および関連する標準誤差を調査したいと考えています。次のように、MGCV の GAM および PREDICT 関数を使用して「トレンド」を取得しました。

高 DoF キュービック スムース スプラインを適用し、1 番目と 2 番目の差分 (軽く平滑化) を適用し、ブートストラップを使用して誤差を概算し、どちらも同等の結果を生成する 2 つの別々の方法で導関数を決定しました。

「gam.fit3」関数は 2 次導関数までの決定を容易にしますが、直接呼び出されないことに注意してください。また、タイプ「lpmatrix」で「predict.gam」を使用すると、スムーズの微分が容易になることにも注意してください。「GAM」関数を直接使用して 1 次導関数と 2 次導関数を計算したいのですが、これらの導関数を計算または抽出する十分なスキルがありません。「Predict.gam」ヘルプ ページの最後にある Wood の例を 1 つの変数に対して再構成しようとしましたが、成功しませんでした。私を正しい方向に導くための助けは素晴らしいでしょう。ありがとうフィル。

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

r - rのmgcvパッケージのvis.gam()関数を使用してx軸とy軸の制限を設定する方法は?

次のモデルの結果をプロットするために vis.gam() を使用しています。

プロットを作成するコードは次のとおりです。

残念ながら、変数「maternal_age」と「birth_year」のデータ範囲外の予測値が生成されます。の変数のプロットで予測値の範囲を制限する方法に関する提案はありますviewか?

本当にありがとう、

アントニオ・ペドロ。

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

r - R パッケージ mgcv との既知の互換性の問題はありますか? 互換性に関する一般的なルールはありますか?

R バージョン 2.15.1 (2012-06-22) と mgcv バージョン 1.7-22 を使用しています

R に次の一連のパッケージをロードします。

単純なモデルを実行できないことがあります(コードは省略します)。ヘルプページから取られたサンプルコードでさえ:

エラーが発生します:

パッケージ mgcv をロードしてすぐにサンプル コードを使用すると、すべて正常に動作することに注意してください。すべてのパッケージを読み込んでサンプル コードを実行するだけでも機能します。うまくいかない

  1. すべてのパッケージをロードする
  2. ファイルの読み取り、sqldf ステートメント、ts 操作、およびパッケージ予測からのいくつかのモデルを実行します。
  3. その後、GAM を適用すると、機能しなくなります。

どうやら、一般的な環境での変数定義がパッケージの機能を台無しにしています。

既知の問題はありますか? さまざまなパッケージをロードする場合に従う必要がある一般的な規則はありますか? パッケージ mgcv を「妨害」するコードを書くことはできますか?

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

r - このモデル選択アルゴリズムをRで実装するには?

R に当てはめている複雑なセミパラメトリック モデルがあります。理論に基づくモデルから始めます。相互作用用語がたくさんあります。各交互作用項または相互作用しない主効果を 1 つずつ削除し、AIC をチェックして、最小の AIC を与えるモデルを保持します。次に、保持されたモデルで手順を繰り返したいと思います。

簡単な例を次に示します。

df AIC

m1 14.53435 1626.611

m2 12.52501 1622.635

m3 12.54566 1622.615

m4 12.52652 1622.633

m5 13.14108 1620.759

m6 10.99684 1621.156

m7 10.98136 1622.229

m5は最高です

df AIC

m5 13.363029 1621.183

m5.1 9.671656 1617.641

m5.2 9.730047 1617.549

m5.3 9.706424 1617.569

m5.4 9.857504 1620.028

5.2がベスト

...等々。次に、m5.2 で各相互作用項または非相互作用主効果を試してみます。質問は、これを自動化するにはどうすればよいですか? モデル (私の場合は m1) から始めて、このアルゴリズムによる「より良い」モデルがなくなるまでこのアルゴリズムを実行した後、R に最適なモデルを提供してもらいますか?

現時点では手動で行うことができますが、時間の経過とともにデータを追加すると、モデルの選択が変わる可能性があります。

ヒントをお寄せいただきありがとうございます。

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

r - 奇妙なエラー: PredictMat(object$smooth[[k]], data) のエラー: 、「by」変数は滑らかな引数と同じ次元でなければなりません

mgcv でエラーが発生しましたが、どこから来たのかわかりません。セットアップは次のとおりです。「MI」と呼ばれる適合した GAM オブジェクトと、「予測データ」のベクトル (予測変数のデフォルト値を含む) があります。これを次の関数を介して predict.gam(object, newdata = anything) にフィードします。

次に、次のような予測を行います。

ここで、「makepHplot」は私が作成した別の関数です。

これはかなり長い間機能しました。その後、モデルにデータを追加し、仕様を少し変更しました。今、私はこのエラーメッセージを受け取っています:

古い装着モデルではこのメッセージは表示されませんでした (今でも表示されません)。
何が起こっている?エラー メッセージの意味がわかりません。また、新しく取り付けたモデルがこの問題を引き起こしている原因がわかりません。「PredictMat」と入力しても役に立ちません。Google も役に立ちません。問題は、すべての変数が予測データに含まれていないことではありません。

ここで何か助けていただければ幸いです。

(R-help でのクロスポストについてのお詫び)

また、欠損データを代入した後、このモデルを数回フィッティングし、Rubin のルールを使用して出力を組み合わせていることも注目に値します。しかし、それは関係ありません-結合されたバージョンではなく、構成適合モデルのいずれかを使用して同じエラーが発生します

問題解決: 問題は、因子変数である「trialid」に「1」を含まない水準があったことでした。preddat で triid を別のものに設定すると、機能します。私がモデルを設定し、ランダム効果をダミー =0 と相互作用させる方法では、この変数は効果がありませんが、mgcv は予測を行うためにまだ必要です。

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

r - GAMからフィットしたスプラインを抽出する方法( `mgcv :: gam`)

ロジスティック回帰の時間傾向をモデル化するためにGAMを使用しています。それでも、フィットしたスプラインを抽出して、GAMまたはGAMMにフィットできない別のモデルに追加したいと思います。

したがって、2つの質問があります。

  1. モデルに他のノットを見つけさせながら、1つのノットを特定の場所に強制的に配置するために、時間の経過とともにスムーズにフィットするにはどうすればよいですか?

  2. フィットしたGAMから行列を抽出して、別のモデルの代入として使用できるようにするにはどうすればよいですか?

私が実行しているモデルのタイプは、次の形式です。

GAMの広範なドキュメントを読みましたが、まだわかりません。どんな提案でも本当にありがたいです。

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

r - mgcv の vis.gam から等高線図の単位を変更する

変数の対数を使用してモデルを適合させています。変換された変数に関して結果を提示したいと思います。簡単な例を次に示します。

同じグラフを作成したいのですが、y ではなく exp(y) に基づいています。

これを行う方法はありますか?前もって感謝します。