問題タブ [gam]
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 を使用して mgcv::gam の外部ノット内で予測を制約する
gamR のパッケージの関数を使用して 3 次スプラインを当てはめたいと思いmgcvます。さらに、トレーニング セットの外側 (外側のノットを超える) の値を、最も近いノットの値と等しくなるように制約したいと思います。つまり、トレーニング データの範囲外でモデル予測を行うべきではありません。predict呼び出しでこれらのポイントを削除し、それらをトレーニング データの最小値と最大値に設定するだけで、これを実行できることがわかっています。ただし、これを行うための組み込みメソッドはありgamますか?
コード例:
r - ggplot2でガムフィットの滑らかなコンポーネントをプロットすることは可能ですか?
パッケージgamからを使用してモデルをフィッティングし、結果を に保存します。これまでのところ、 を使用して滑らかなコンポーネントを見てきました。私は最近 ggplot2 の使用を開始し、その出力が気に入っています。ggplot2 を使用してこれらのグラフをプロットすることは可能ですか?mgcvmodelplot(model)
次に例を示します。
そして、私はフィット感ではなく、興味がs(x1, k=10)あります。s(x2, k=20)
部分的な答え:
私はより深く掘り下げてplot.gam、mgcv:::plot.mgcv.smooth滑らかな成分から予測効果と標準誤差を抽出する独自の関数を構築しました。すべてのオプションとケースを処理するわけではないplot.gamので、部分的な解決策としか考えていませんが、私にとってはうまく機能します。
これにより、滑らかなコンポーネントを含む「溶融」データ フレームが返されるため、ggplot上記の例で使用できるようになりました。
一般的なケースでこれを可能にするパッケージを誰かが知っていれば、私は非常に感謝しています。
r - model.frame.default のエラー: 変数の長さが異なります
mgcv パッケージを使用して gam モデルを実行すると、理解できない奇妙なエラー メッセージが表示されました。
「model.frame.default(式 = 死 ~ pm10 + Lag(resid1, 1) + : 変数の長さが異なります (「Lag(resid1, 1)」で見つかりました) でエラーが発生しました)」.
model1 で使用されている観測値の数は、逸脱残差の長さとまったく同じであるため、このエラーはデータ サイズや長さの違いには関係ないと思います。
ウェブ上でかなり関連するエラー メッセージを見つけましたここ、しかしその投稿には適切な回答がなかったので、私の問題には役に立ちません.
再現可能な例とデータは次のとおりです。
モデルを実行する
逸脱残差を取得する
モデル 1 に 1 日遅れの逸脱を追加する
これらのモデルはどちらも同じエラー メッセージを生成しました。
r - メソッド gam を使用したキャレット パッケージからのトレインのエラー:
gamで問題なく動作することがわかっているモデルがありますが、パッケージを使用して同じモデルをR実行しようとすると、入力データ列がリストであるというエラーが返されます。誰もこれを理解していますか?traincaret
私が実行しているコードは次のとおりです。
最初の gam モデルは正常に動作しますが、train は次のエラーを返します。
数式で直接 model.frame.default を実行してもこのエラーが発生するため、問題は厳密に言えば列車ではありません。
mydata は次のようになります。
情報については、私の R インストールは次のとおりです。
助けてくれてありがとう!
r - RでパッケージmgcvとR2Bayesxを使用したgwrフィッティング
spgwr と mgcv の間で生成された GWR フィッティングを比較したいのですが、 mgcv の gam 関数でエラーが発生しました。例を次に示します。
質問:
gam と bayesx 関数 (位置の滑らかな関数) を使用して同じ gwr を適合させる方法
最適な帯域幅を含め、パラメーターを可能な限り類似するように制御する方法
r - ガムの多次元ガウス
見つけたドキュメントとディスカッションを読んでいますが、答えが得られなかったので、誰かが助けてくれることを願っています.
gam最適化アルゴリズム (EM) のコンテキストで
使用したい。より単純なシナリオでは、 を使用して 1 次元ガウス分布を当てはめたい場合はgam、
ただし、私の場合、2つの合併症があります。
- My
yは 2 次元ガウスです。と - フィッティングから(
mu1、sigma1、mu2、 )が必要なだけでなく、オブザーバブルのいくつかの非線形関数も必要です。sigma2mu1mu2
gamこの場合でも を利用できるのか、それとも独自の関数を作成する必要があるのかを知りたいです。
編集:
正確には、問題は次の形式にあります
ここn()で、 はガウス pdf でxあり、yは独立変数であり、 は独立変数mu2の (非線形) 関数ですbeta。
r - 数式内で関数を評価する方法 (R)
通常の lm-type-functions のように使用できる関数を書きたいとします: y~x...
さらに、関数が説明変数として滑らかな項を持つ可能性のある入力変数の完全な model.matrix を返すことを望みます。つまり、入力ベクトルの列は最初に B-Spline 関数によって評価され、次に返されます。
したがって、私の小さな関数は次のようになります。
呼び出しは、smth を評価できる必要があります。お気に入り
spline(x2,5,1)のスムーズな影響はどこにありますかx2。私のスプライン関数は次のように定義されています。
関数を呼び出すと、データ引数に対応する列が含まれていないため、model評価できません。spline(x2,5,1)
私は見ましgamたが、ここではこれを行うために新しい関数interpret.gamが使用されています。もっと簡単な方法はありませんか?