タグ付けされた質問 「splines」

スプラインは、多項式パーツから編み合わされた柔軟な関数で、近似または平滑化に使用されます。このタグは、あらゆる種類のスプライン(Bスプライン、回帰スプライン、薄板スプラインなど)用です。

1
スプラインを含む混合効果モデル
経時的な傾向が曲線線形であることがわかっているアプリケーションで、混合効果モデルをスプライン項に適合させています。ただし、評価したいのは、曲線の傾向が線形性からの個別の偏差によって発生するのか、それともグループレベルのフィットが曲線に見えるようにするグループレベルの影響なのかです。JMパッケージのデータセットを退屈な再現可能な例を示します。 library(nlme) library(JM) data(pbc2) fitLME1 <- lme(log(serBilir) ~ ns(year, 2), random = ~ year | id, data = pbc2) fitLME2 <- lme(log(serBilir) ~ year, random = ~ ns(year, 2) | id, data = pbc2) 基本的に、これらのどれが私のデータにより適しているかを知りたいです。しかしによる比較anovaは私に不吉な警告を与えます: Model df AIC BIC logLik Test L.Ratio p-value fitLME1 1 7 3063.364 3102.364 -1524.682 fitLME2 …
9 r  splines  lme4-nlme 

2
モデル構築プロセスがインタラクティブだった場合のバックテストまたは相互検証
パフォーマンスをバックテストしたい予測モデルがいくつかあります(つまり、データセットを取得し、それを前の時点に「巻き戻し」、モデルがどのように予測的に実行されたかを確認します)。 問題は、私のモデルの一部がインタラクティブなプロセスを介して構築されたことです。たとえば、フランクハレルの回帰モデリング戦略のアドバイスに従って、1つのモデルで制限された3次スプラインを使用して、機能と応答の間の可能な非線形の関連付けを処理しました。ドメインの知識と関連の強さの一変量の測定値の組み合わせに基づいて、各スプラインの自由度を割り当てました。しかし、モデルに許可したい自由度は、データセットのサイズに明らかに依存します。これは、バックテスト時に大幅に変化します。モデルがバックテストされるたびに自由度を個別に選択したくない場合、他のオプションは何ですか? 別の例として、私は現在、高いレバレッジでポイントを見つけることによる外れ値の検出に取り組んでいます。手作業でこれを実行できた場合は、レバレッジの高い各データポイントを確認し、データがクリーンであることをサニティチェックして、フィルターで取り除くか、手動でクリーンアップします。しかし、これは一連のドメイン知識に依存しているため、プロセスを自動化する方法がわかりません。 (a)モデル作成プロセスのインタラクティブな部分を自動化する一般的な問題に対するアドバイスと解決策、または(b)これら2つのケースに対する特定のアドバイスの両方をいただければ幸いです。ありがとう!

3
kカテゴリ変数に相当する回帰平滑化スプラインでのkノットの選択?
私は、患者の年齢(年で測定された整数量)が予測変数の1つである予測コストモデルに取り組んでいます。年齢と入院のリスクの間の強い非線形関係は明らかです: 患者の年齢に応じて、ペナルティ付き回帰平滑化スプラインを検討しています。よると、統計的学習の要素(Hastieら、2009、P.151)、最適な結び目の配置は、会員の年齢のユニークな値ごとに結び目があります。 年齢を整数として保持しているとすると、ペナルティ付きスムージングスプラインは、データセットで見つかった年齢の値ごとに1つ(マイナス1つ)の、101の異なる年齢インジケーター変数でリッジ回帰または投げ縄を実行することに相当しますか?各年齢インジケーターの係数がゼロに向かって縮小されるため、過剰パラメーター化は回避されます。

3
一般的な加法ポアソンモデル問題におけるスプラインdfの選択
SASを使用したポアソン一般加法モデルを使用して、いくつかの時系列データを近似していPROC GAMます。一般的に言えば、組み込みの一般化された相互検証手順によって、単一のスプラインの少なくとも適切な「開始点」が生成されるようにしてきました。これは、時間の非線形関数と単一のパラメトリック項(1つのI実際に興味があります)。 これまでのところ、私のデータセットの1つを除いて、かなりスムーズに機能しています。そのデータセットには132の観測値があり、GCVは128自由度のスプラインを示唆しています。それは...間違っているようです。大きな過ち。さらに重要なのは、それがまったく安定していないことです。2番目のアプローチを試してみました。「推定値の変更」基準などを使用して、パラメトリック項の推定値が変化しなくなったときに自由度の追加を停止しました。何も変わらない場合はなぜ制御を追加し続けるのですか。 問題は、見積もりがまったく安定していないことです。次の自由度を試しましたが、ご覧のとおり、パラメトリックな用語が乱暴に跳ね返っています。 DF: Parametric Estimate: 1 -0.76903 2 -0.56308 3 -0.47103 4 -0.43631 5 -0.33108 6 -0.1495 7 0.0743 8 0.33459 9 0.62413 10 0.92161 15 1.88763 20 1.98869 30 2.5223 40-60 had convergence issues 70 7.5497 80 7.22267 90 6.71618 100 5.83808 110 4.61436 128 1.32347 この特定のデータビットに対してdfに関して何を使用する必要があるかについて、私はまったく直感がありません。dfを選択する方法に関する他のアイデアはありますか?スプラインの重要性を見るべきですか? …

2
データのROC曲線を計算する
そのため、ハミング距離を使用して生体認証特性から個人を認証しようとしている16のトライアルがあります。しきい値は3.5に設定されています。私のデータは以下であり、トライアル1のみが真陽性です。 Trial Hamming Distance 1 0.34 2 0.37 3 0.34 4 0.29 5 0.55 6 0.47 7 0.47 8 0.32 9 0.39 10 0.45 11 0.42 12 0.37 13 0.66 14 0.39 15 0.44 16 0.39 私の混乱のポイントは、このデータからROC曲線(FPR対TPR OR FAR対FRR)を作成する方法が本当にわからないということです。どちらでもかまいませんが、どうやって計算するのか混乱しています。任意の助けいただければ幸いです。
9 mathematical-statistics  roc  classification  cross-validation  pac-learning  r  anova  survival  hazard  machine-learning  data-mining  hypothesis-testing  regression  random-variable  non-independent  normal-distribution  approximation  central-limit-theorem  interpolation  splines  distributions  kernel-smoothing  r  data-visualization  ggplot2  distributions  binomial  random-variable  poisson-distribution  simulation  kalman-filter  regression  lasso  regularization  lme4-nlme  model-selection  aic  r  mcmc  dlm  particle-filter  r  panel-data  multilevel-analysis  model-selection  entropy  graphical-model  r  distributions  quantiles  qq-plot  svm  matlab  regression  lasso  regularization  entropy  inference  r  distributions  dataset  algorithms  matrix-decomposition  regression  modeling  interaction  regularization  expected-value  exponential  gamma-distribution  mcmc  gibbs  probability  self-study  normality-assumption  naive-bayes  bayes-optimal-classifier  standard-deviation  classification  optimization  control-chart  engineering-statistics  regression  lasso  regularization  regression  references  lasso  regularization  elastic-net  r  distributions  aggregation  clustering  algorithms  regression  correlation  modeling  distributions  time-series  standard-deviation  goodness-of-fit  hypothesis-testing  statistical-significance  sample  binary-data  estimation  random-variable  interpolation  distributions  probability  chi-squared  predictor  outliers  regression  modeling  interaction 

1
ブートストラップ(R)を使用して検量線を推定する方法
質問:バイナリ結果変数をモデル化するために確率モデル(ベイジアンネットワーク)を適合させました。ブートストラップでオーバーフィットするように修正された高解像度のキャリブレーションプロット(スプラインなど)を作成したいと思います。そのような曲線を計算するための標準的な手順はありますか? 考慮事項:これは、トレーニング/テスト分割で簡単に実行できますが、サンプルが20,000未満なので、データを捨てないでください。だから私は自然にブートストラップについて考えました。そのような関数(キャリブレーション)の1つがフランクハレルのrmsパッケージに実装されていることは知っていますが、残念ながら、私が使用するモデルはパッケージでサポートされていません。 おまけの質問:ブートストラップを使用して、誤って調整されたモデルを再調整することは可能ですか?私がこれを尋ねる理由は、私がモデルを再調整しようとしたことです トレイン/テストでデータを分割する セットをトレーニングするフィッティングモデル モデルを再調整してトレーニングセット(3次スプラインを使用) テストセットのキャリブレーションを評価する 上記の方法で再調整されたモデルは、列車セットでは完全に調整されましたが、テストセットではそれほど調整されていません。これは、おそらく軽度の過適合を示しています。また、テストセットをさらに分割して、1つの分割でキャリブレーションを行い、2番目の分割でキャリブレーションを評価しました。私はより良い結果を得ましたが(まだ完全に校正されていません)、セットはかなり小さくなり(〜1000サンプル)、したがって校正は信頼できなくなりました

2
GAMのノットの選択
GAMに適切な数のノットを選択する場合、データの数とx軸の増分を考慮に入れることができます。 x軸に100の増分があり、各増分に1000のデータポイントがある場合はどうなるでしょうか。 ここの情報は言う: それらが指定されていない場合、スプラインのノットは、用語が参照する共変量値全体に均等に配置されます。たとえば、101データをxの11ノットスプラインでフィッティングすると、10番目ごとにノットが存在します(順序付け) x値。 この例では、基本的な開始は9ノットである必要がありますか?非常に小さな数から非常に大きな数までフィッティングできるため、このデータセットにどのノットの範囲が適しているかはわかりません。 set.seed(1) dat <- data.frame(y = rnorm(10000), x = 100) library(ggplot) ggplot(dat, aes(x = x, y = y)) + geom_point(size= 0.5) + stat_smooth(method = "gam", formula = y ~ s(x, bs = "cs"),k=9, col = "black") k = 25が有用な適合を提供した場合、このデータに妥当でしょうか?
9 r  gam  splines 

5
循環/定期的な時系列を平滑化する
自動車事故の時間別データがあります。予想通り、それらは一日の真ん中に高く、ラッシュアワーにピークを迎えます。ggplot2のデフォルトのgeom_densityはそれを滑らかにします 飲酒運転に関連するクラッシュのデータのサブセットは、1日の終わり(夕方と早朝)に高く、極端に高くなります。しかし、ggplot2のデフォルトのgeom_densityは、依然として右端にあります。 これについて何をしますか?目的は単に視覚化であり、堅牢な統計分析の必要はありません(ありますか?)。 x <- structure(list(hour = c(14, 1, 1, 9, 2, 11, 20, 5, 22, 13, 21, 2, 22, 10, 18, 0, 2, 1, 2, 15, 20, 23, 17, 3, 3, 16, 19, 23, 3, 4, 4, 22, 2, 21, 20, 1, 19, 18, 17, 23, 23, 3, 11, …

1
Rマウス補完パッケージで制限付き3次スプラインを使用する方法
Rマウス補完パッケージ内の補完モデルに、制限された3次スプライン(rmsパッケージなど)を統合する方法を知りたいです。 コンテキスト:私は生物医学研究を行っており、患者の特徴と患者の疾患の進行に関するデータからなるデータセットにアクセスできます。目標は、特定の結果の発生を予測するために、患者の特性と疾患の進行に基づいて予測モデルを構築することです。悲しいかな、一部の患者はすべての変数に関する完全な情報を持っていません。そのため、これらの欠損値を(複数回)推定するために、複数の代入手法を使用することにしました。 問題:複数の代入を使用する場合、相性と呼ばれるこの「ルール」があります。つまり、補完には、最終的な分析に使用する統計モデル(つまり、調査したい予測モデル)も補完モデルに含める必要があります(追加の情報を追加することが望ましい)。これは、考えられる非線形の関連付けを考慮することも意味します。特定の予測因子が他の予測因子と非線形の関連性を持っているかどうかはわかりませんので、補完モデルが制限付き3次スプラインに適合できるようにしたいと考えています。しかし、私はマウスでこれを行う方法を本当に理解していません。したがって、マウスに適したrcsを可能にする代入モデルの作成を手伝ってください。 モデレーターへの補足:補完とスプラインは特定の「統計的」主題であるため、この質問はCrossvalidatedに適していると思いました。ただし、この「ハウツー」の質問はプログラミングの性質に重点が置かれているため、他の場所の方が適していると思われる場合でも、移行された質問は問題になりません。この疑問の後、私はこの質問をStackOverflowにも投稿しました(/programming/45674088/how-to-use-restricted-cubic-splines-with-the-r-mice-imputation-package)

2
ロジスティック回帰の歪んだ分布
私は英国の頭部外傷の全国的外傷データベースからの遡及的データに基づいてロジスティック回帰モデルを開発しています。主な結果は30日間の死亡率です(Outcome30メジャーとして示されます)。以前の研究での転帰に対する有意な影響の公表された証拠を伴うデータベース全体にわたる他の測定には以下が含まれます: Yeardecimal - Date of procedure = 1994.0-2013.99 inctoCran - Time from head injury to craniotomy in minutes = 0-2880 (After 2880 minutes is defined as a separate diagnosis) ISS - Injury Severity Score = 1-75 Age - Age of patient = 16.0-101.5 GCS - Glasgow Coma Scale = 3-15 …

1
スプライン(mgcvからのgrtも含む)の合計(または平均)センタリング制約はどの程度正確に行われますか?
データ生成プロセスは次のとおりです:y=sin(x+I(d=0))+sin(x+4∗I(d=1))+I(d=0)z2+3I(d=1)z2+N(0,1)y=sin(x+I(d=0))+sin(x+4∗I(d=1))+I(d=0)z2+3I(d=1)z2+N(0,1)y = \text{sin}\Big(x+I(d=0)\Big) + \text{sin}\Big(x+4*I(d=1)\Big) + I(d=0)z^2 + 3I(d=1)z^2 + \mathbb{N}\left(0,1\right) ましょx,zx,zx,zからの配列である−4−4-4に444長さの100100100およびddd対応する因子であることがd∈{0,1}d∈{0,1}d\in\{0,1\}。すべての可能な組み合わせを取り、yx,z,dx,z,dx,z,dを計算します。 yyy (中心化されていない)Bスプライン基準を使用するとx,zx,zx,z、各レベルのzはddd、parity-of-unity-property(行の合計が1)によって実現できなくなります。このようなモデルは識別できません(切片がない場合でも)。 例:(設定:5つの内部ノット間隔(均一に分布)、次数2のBスプライン、- spline関数はカスタムのもの) # drawing the sequence n <- 100 x <- seq(-4,4,length.out=n) z <- seq(-4,4,length.out=n) d <- as.factor(0:1) data <- CJ(x=x,z=z,d=d) set.seed(100) # setting up the model data[,y := sin(x+I(d==0)) + sin(x+4*I(d==1)) + I(d==0)*z^2 + 3*I(d==1)*z^2 …

1
原因の特定とペナルティ付きスプライン
私は経済学のジャーナルから拒絶されました。拒否の理由としては、次のものが挙げられます。 因果関係を明確に識別する代替のより単純な手法と比較して、セミパラメトリック法を使用することの利点は明確には発揮されません OLSに固執する多くのエコノミストに方法論を動機付けるより良い仕事をしたかもしれないことは確かに可能です。しかし、私は「クリーンな識別」に違反しましたか?ご自身で判断して、ご意見をお聞かせください。 私の主な推定式は Zは連続で、XとTはバイナリです。私は当然のことながら E [yit=αi+β1Tit+f⎛⎝⎜ZitZit×TitZit×Tit×Xt⎞⎠⎟+β2Xt+ϵityit=αi+β1Tit+f(ZitZit×TitZit×Tit×Xt)+β2Xt+ϵit y_{it} = \alpha_i + \beta_1 T_{it} + f\left(\begin{array}{l}Z_{it}\\ Z_{it} \times T_{it} \\ Z_{it}\times T_{it} \times X_t\end{array} \right) + \beta_2X_t + \epsilon_{it} ZZZXXXTTT つまり、 Tの係数は、個々のレベルのダミー変数(計量経済学における「固定効果」)を条件として不偏であることを意味します。連続変数 Zを含めると、 Zの勾配に対する推定処理効果の不均一性がわかります。治療の平均因果効果ので Tはの平均値である β 1 + F Z × Tの様々なレベルのために Z Iが観測こと。E[ϵ|α,T]=0E[ϵ|α,T]=0 E[\epsilon|\alpha,T] = 0 TTTZZZZZZTTTβ^1+f^Z×Tβ^1+f^Z×T\hat\beta_1 + \hat f_{Z\times …

1
時間の経過に伴うスプラインのモデリング—設計マトリックスとアプローチの調査
応答変数yは、いくつかの予測子変数Xの非線形関数です(実際のデータでは応答は二項分布ですが、ここでは簡単にするために正規分布値を使用しています)。スプライン/スムースを使用して、予測子と応答の間の関係をモデル化できます(たとえば、mgcvR のパッケージのGAMモデル)。 ここまでは順調ですね。ただし、それぞれの応答は、時間とともに進化するプロセスの結果です。つまり、予測子Xと応答yの関係は、時間の経過とともに変化します。各応答について、応答の周りのいくつかの時点にわたる予測子のデータがあります。つまり、時点のグループごとに1つの応答があります(応答が時間とともに進化するわけではありません)。 この時点で、いくつかのイラストが役立つでしょう。以下は、既知のパラメーター(以下のコード)を持ついくつかのデータで、ggplot2(GAMメソッドと適切なスムーザーを指定)を使用して、ファセットの時間とともにプロットされます。説明のために、yはx1の2次関数であり、この関係の符号と大きさは時間の関数として変化します。 x2とyの関係は円形であり、特定の方向 x2 でのyの増加に対応します。この関係の振幅は、時間とともに変化します。(gcclotで、 "cc"円形3次スムーザーを指定するgamを使用してモデル化されています)。 2次元スプラインのようなものを使用して、各予測子の(非線形)変化を時間の関数としてモデル化したいと思います。 mgcvパッケージで2次元のスムース(のようなものte(x1,t))を使用することを検討しました。ただし、これには長い形式(つまり、1列の時点)のデータが必要になる場合を除きます。1つの応答がすべての時点に関連付けられているため、これは不適切だと思います-したがって、データを長い形式で配置すると(つまり、同じ応答を設計行列の複数の行に複製すると)、観測の独立性に違反します。私のデータは現在列(y, x1.t1, x1.t2, x1.t3, ..., x2.t1, x2.t2, ...)で配置されており、これが最も適切なフォーマットだと思います。 私が知りたいのですが: このデータをモデル化するより良い方法はありますか もしそうなら、モデルの設計行列/式はどのようになるでしょう。最終的には、JAGSのようなmcmcパッケージでベイジアン推論を使用してモデル係数を推定したいので、2次元スプラインの記述方法を知りたいです。 私の例を再現するRコード: library(ggplot2) library(mgcv) #------------------- # start by generating some data with known relationships between two variables, # one periodic, over time. set.seed(123) nTimeBins <- 6 nSamples <- 500 # the …
8 r  ggplot2  splines  gam 

1
なぜ正定ですか?
スプライン回帰では、基底展開がランク不足の設計行列を作成することは珍しくありませんが、推定手順のペナルティ化が問題を解決することはよく知られています。ペナルティがが正定であることを示す方法を私は知りません。(私はPD行列が可逆であることを知っています。)Bn×pBn×pB_{n\times p}BTB+λΩBTB+λΩB^TB+\lambda\Omega ステージを設定するには、を探しためのf(x)が基準拡張によって与えられるF(X_I)= \ sum_j \ alpha_j h_j(X_I )。Bで基底ベクトルを収集すると、この最適化が次のように減少することをかなり簡単に示すことができますminα∈Rp∑i||yi−f(xi)||2+λ∫ba[f′′(t)]2dtminα∈Rp∑i||yi−f(xi)||2+λ∫ab[f″(t)]2dt\min_{\alpha\in\mathbb{R}^p} \sum_i|| y_i-f(x_i)||^2+\lambda\int_a^b [f''(t)]^2dt f(x)f(x)f(x)f(xi)=∑jαjhj(xi)f(xi)=∑jαjhj(xi)f(x_i)=\sum_j\alpha_j h_j(x_i)BBB α^=(BTB+λΩ)−1BTy.α^=(BTB+λΩ)−1BTy. \hat{\alpha}=(B^TB+\lambda\Omega)^{-1}B^Ty. ここで、Ωij=∫bah′′j(t)h′′i(t)dtΩij=∫abhj′′(t)hi′′(t)dt\Omega_{ij}=\int_a^b h_j^{\prime\prime}(t) h_i^{\prime\prime}(t)dtです。 ここに私の推論があります。p> nであるため、BBBはランクが不足していることがわかります。これは、B ^ TBもランクが低いことを意味します。また、少なくとも1つの固有値が0で、正の半定値であることを示すこともできます。p>np>np>nBTBBTBB^TB しかし、\ Omegaについて推論する方法がわからない、ΩΩ\OmegaまたはBTB+λΩBTB+λΩB^TB+\lambda\Omegaが\ lambda> 0の PDであることを示すことができないので、今は行き詰まっていますλ>0λ>0\lambda>0。私はΩΩ\Omegaがグラム行列であることを知っていますが、ΩΩ\OmegaがPSD であることを示す場合にのみ、私たちを取得します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.