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

このタグは、(a)質問の重要な部分または予想される回答として「R」が含まれる* on-topic *の質問に使用します。&(b)「R」の使い方について「*」だけではありません。

1
randomForestモデルのキャレットvarImp
パッケージvarImpを含むrandomForestモデルで関数がどのように機能するかを理解できませんcaret。以下の例では、キャレットvarImp関数を使用してフィーチャーvar3の重要度がゼロになっていますが、基になるrandomForest最終モデルのフィーチャーvar3の重要度はゼロではありません。これはなぜですか? require(randomForest) require(caret) rf <- train(x, y, method = "rf", trControl = trainControl(method = "oob"), importance = TRUE, verbose = TRUE, tuneGrid = data.frame(mtry = num.predictors) ) fm <- rf$finalModel > varImp(f) rf variable importance Overall var1 100.00 var2 80.14 var3 0.00 > importance(fm) %IncMSE IncNodePurity var2 872.7935 40505276 var1 …
10 r  caret  random-forest 

3
R(または一般的に)で、回帰係数を特定の符号にすることは可能ですか?
私はいくつかの実世界のデータを使用していますが、回帰モデルは直観に反する結果をもたらしています。通常私は統計を信頼しますが、実際にはこれらのいくつかは真実ではありません。私が見ている主な問題は、実際には、それらが負の相関関係にあるに違いないのに、1つの変数の増加が応答の増加を引き起こしていることです。 各回帰係数に特定の符号を強制する方法はありますか?これを行うRコードも同様にありがたいです。 助けてくれてありがとう!

4
LASSOで機能を選択するためのデータを準備するために欠損値を処理する方法は?
私の状況: 小さなサンプルサイズ:116 バイナリ結果変数 説明変数の長いリスト:44 説明変数は私の頭の上から来ていませんでした。彼らの選択は文献に基づいていた。 サンプルのほとんどの場合とほとんどの変数には欠損値があります。 選択した機能選択へのアプローチ:LASSO Rのglmnetパッケージではglmnetルーチンを実行できません。これは、明らかにデータセットに欠損値が存在するためです。欠落しているデータを処理するにはさまざまな方法があるようですので、知りたいのですが。 LASSOは、使用できる補完の方法に関して何らかの制限を課していますか? 補完法の最善策は何でしょうか?理想的には、SPSS(できれば)またはRで実行できるメソッドが必要です。 UPDATE1:以下の回答のいくつかから、補完法を検討する前に、より基本的な問題に対処していることが明らかになりました。それについてここに新しい質問を追加したいと思います。「該当なし」の値とグループラッソの使用法を処理するための定数値としてのコーディングと新しい変数の作成を示唆する答えについて: グループLASSOを使用すると、連続予測子に提案されたアプローチをカテゴリカル予測子にも使用できると思いますか?もしそうなら、私はそれが新しいカテゴリーを作成することと同等であると思います-これはバイアスを導入するかもしれないと警戒しています。 RのglmnetパッケージがグループLASSOをサポートしているかどうか誰かが知っていますか?そうでない場合、誰かがロジスティック回帰と組み合わせてそれを行う別のものを提案しますか?LASSOグループについて言及しているいくつかのオプションがCRANリポジトリにあります。私の場合に最も適切な提案はありますか?たぶんSGL? これは私の以前の質問に対するフォローアップです(ロジスティック回帰分析を実行するために、元の長いリストから変数のサブセットを選択する方法は?)。 OBS:私は統計学者ではありません。

4
ARIMAモデリングのパラメーター(p、d、q)の決定
私は統計とRにかなり慣れています。データセットのARIMAパラメータを決定するプロセスを知りたいのですが。Rと理論的に(可能であれば)を使用して同じことを理解するのを手伝ってくれませんか? データの範囲は1月12日から3月14日で、月次売上高を表します。これがデータセットです: 99 58 52 83 94 73 97 83 83 63 63 77 70 87 84 60 105 87 93 110 71 158 52 33 68 82 88 84 そしてここにトレンドがあります: データは、傾向、季節的な行動または周期性を示していません。
10 r  arima  box-jenkins 

1
GARCH(1,1)を近似する-Rの共変量を持つモデル
単純なARIMAモデルなど、時系列モデリングの経験があります。現在、ボラティリティクラスタリングを示すデータがいくつかあります。そのデータにGARCH(1,1)モデルを当てはめることから始めたいと思います。 データ系列とそれに影響を与えると思われるいくつかの変数があります。基本的な回帰用語では、次のようになります。 yt= α + β1バツt 1+ β2バツt 2+ ϵt。yt=α+β1xt1+β2xt2+ϵt. y_t = \alpha + \beta_1 x_{t1} + \beta_2 x_{t2} + \epsilon_t . しかし、これをGARCH(1,1)-モデルに実装する方法に完全に困っていますか?私が見てきたrugarch-packageとfGarch-packageでR、私は1つが、インターネット上で見つけることができるの例以外にも意味のある何かをすることができていません。
10 r  regression  garch 

1
マルチレベルモデリングの表記
(ライブラリlmerから使用する)マルチレベルモデルをトレーニングするために指定する必要がある式は、lme4 R常に私にわかります。私は無数の教科書やチュートリアルを読みましたが、それを適切に理解したことがありません。 だからここに私が方程式に定式化して欲しいこのチュートリアルの例があります。さまざまなシナリオでの性別(女性は一般的に男性よりもピッチの高い声を持っています)と人の態度(丁寧に答えたかどうかにかかわらず)の関数として音声周波数をモデル化しようとしています。また、subjectコラムからわかるように、一人一人が数回測定を受けました。 > head(politeness, n=20) subject gender scenario attitude frequency 1 F1 F 1 pol 213.3 2 F1 F 1 inf 204.5 3 F1 F 2 pol 285.1 4 F1 F 2 inf 259.7 5 F1 F 3 pol 203.9 6 F1 F 3 inf 286.9 7 F1 F …

4
ニューラルネットワーク、auto.arimaおよびetsを使用したR時系列予測
ニューラルネットワークを使用して時系列を予測することについて少し聞いたことがあります。 比較するにはどうすればよいですか?auto.arima(x)、ets(x)、またはnnetar(x)の時系列(日次小売データ)を予測する方法はどちらが優れていますか。 auto.arimaとetsをAICまたはBICで比較できます。しかし、どうすればニューラルネットワークと比較できますか? 例えば: > dput(x) c(1774, 1706, 1288, 1276, 2350, 1821, 1712, 1654, 1680, 1451, 1275, 2140, 1747, 1749, 1770, 1797, 1485, 1299, 2330, 1822, 1627, 1847, 1797, 1452, 1328, 2363, 1998, 1864, 2088, 2084, 594, 884, 1968, 1858, 1640, 1823, 1938, 1490, 1312, 2312, 1937, 1617, 1643, 1468, …

1
これら2つの回帰モデルの基本的な違いは何ですか?
有意な相関がある2変量応答があるとします。これらの結果をモデル化する2つの方法を比較しようとしています。1つの方法は、2つの結果の違いをモデル化することです: 別の方法は、それらを使用またはモデル化することです: (Y 、I 、J = β 0 + 時間+ X ' β )(yi2−yi1=β0+X′β)(yi2−yi1=β0+X′β)(y_{i2}-y_{i1}=\beta_0+X'\beta)glsgee(yij=β0+time+X′β)(yij=β0+time+X′β)(y_{ij}=\beta_0+\text{time}+X'\beta) fooの例を次に示します。 #create foo data frame require(mvtnorm) require(reshape) set.seed(123456) sigma <- matrix(c(4,2,2,3), ncol=2) y <- rmvnorm(n=500, mean=c(1,2), sigma=sigma) cor(y) x1<-rnorm(500) x2<-rbinom(500,1,0.4) df.wide<-data.frame(id=seq(1,500,1),y1=y[,1],y2=y[,2],x1,x2) df.long<-reshape(df.wide,idvar="id",varying=list(2:3),v.names="y",direction="long") df.long<-df.long[order(df.long$id),] df.wide$diff_y<-df.wide$y2-df.wide$y1 #regressions fit1<-lm(diff_y~x1+x2,data=df.wide) fit2<-lm(y~time+x1+x2,data=df.long) fit3<-gls(y~time+x1+x2,data=df.long, correlation = corAR1(form = ~ 1 | time)) …

1
CPH、加速故障時間モデル、または生存分析のためのニューラルネットワークの比較
私は生存分析が初めてですが、特定の目標を前提としてそれを行うにはさまざまな方法があることを最近知りました。これらの方法の実際の実装と妥当性に興味があります。 時間、ステータス、その他の医療データを考慮して患者の生存率を上げる方法として、従来のCox比例ハザード、加速故障時間モデル、ニューラルネットワーク(多層パーセプトロン)が提示されました。研究は5年で決定されると言われ、目標は新しい記録が与えられるために毎年生存リスクを与えることです。 Cox PHで他の方法が選択された2つのインスタンスが見つかりました。 「Cox PHモデルから生存時間に関する予測を取得する方法」が見つかり、次のように述べられました。 特定の時点での生存確率の推定値に特に関心がある場合は、パラメトリック生存モデル(別名、加速故障時間モデル)を紹介します。これらは、Rの生存パッケージに実装されており、パラメトリックな生存時間分布を提供します。ここで、関心のある時間をプラグインするだけで、生存確率を取得できます。 私は推奨サイトに行って、survivalパッケージの 1つ-関数を見つけましたsurvreg。 このコメントでニューラルネットワークが提案されました: ...生存分析へのニューラルネットアプローチの1つの利点は、Cox分析の根底にある仮定に依存しないことです... 「生存予測を含む出力としてターゲットベクトルを使用したRニューラルネットワークモデル」という質問を持つ別の人は、ニューラルネットワークとCox PHの両方で生存を決定する包括的な方法を示しました。 サバイバルを取得するためのRコードは次のようになります。 mymodel <- neuralnet(T1+T2+T3+T4+T5~covar1+covar2+covar3+..., data=mydata, hidden=1) compute(mymodel,data=mydata) 私はRフォーラムに行って、この回答を質問「predict.coxphとpredict.survreg」で見つけました。 実際、のpredict()関数からcoxph直接「時間」予測を取得することはできず、線形で指数的なリスクスコアのみを取得できます。これは、時間を取得するためにベースラインハザードを計算する必要があり、Coxモデルでは暗黙的であるため簡単ではないためです。 興味のある期間の生存率を得るのに、3つ(またはCox PHに関する議論を考慮した2つ)が最適かどうか疑問に思っていましたか?どちらを生存分析に使用するか混乱しています。

1
尤度比検定とWald検定は、Rのglmに異なる結論を提供します
一般化モデル、線形モデル、混合モデルの例を再現しています。私のMWEは以下のとおりです。 Dilution <- c(1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2, 1, 2, 4) NoofPlates <- rep(x=5, times=10) NoPositive <- c(0, 0, 2, 2, 3, 4, 5, 5, 5, 5) Data <- data.frame(Dilution, NoofPlates, NoPositive) fm1 <- glm(formula=NoPositive/NoofPlates~log(Dilution), family=binomial("logit"), data=Data) summary(object=fm1) 出力 Call: glm(formula = NoPositive/NoofPlates ~ log(Dilution), family = binomial("logit"), …

2
堅牢な回帰推論とサンドイッチ推定量
ロバストな回帰推論を実行するためのサンドイッチ推定量の使用例を教えてもらえますか? の例を見ることができますが、関数から返された分散共分散行列を使用して回帰モデルから得られた(rコード化)から推定およびp値に?sandwichどのように移行できるかがよくわかりません。 lm(a ~ b, data)sandwich
10 r  regression  lm  sandwich 

2
平均、sd、最小、最大で要約統計量をプロットしますか?
私は経済学の出身ですが、通常、分野では変数の要約統計量が表で報告されます。しかし、私はそれらをプロットしたいと思います。 ボックスプロットを変更して、平均値、標準偏差、最小値、最大値を表示できるようにすることもできますが、従来は中央値とQ1およびQ3を表示するためにボックスプロットが使用されているため、そうしたくありません。 すべての変数のスケールが異なります。誰かが私がこれらの要約統計量をプロットすることができる意味のある方法を提案できたら素晴らしいでしょう。RまたはStataを使用できます。

3
が大きい場合のネストされたバイナリロジスティック回帰モデルの比較
より良い私の質問をするために、私は16変数モデル(両方からの出力のいくつか提供しているfit)と17変数モデル(fit2下記)を(これらのモデル内のすべての予測変数は、これらのモデル間の唯一の違いはそれがどこにあるか、連続してfitいません変数17(var17)を含む): fit Model Likelihood Discrimination Rank Discrim. Ratio Test Indexes Indexes Obs 102849 LR chi2 13602.84 R2 0.173 C 0.703 0 69833 d.f. 17 g 1.150 Dxy 0.407 1 33016 Pr(> chi2) <0.0001 gr 3.160 gamma 0.416 max |deriv| 3e-05 gp 0.180 tau-a 0.177 Brier 0.190 fit2 Model Likelihood Discrimination …

1
RでeCDFとすばやく統合する
Iは、フォームの積分方程式有する F nは経験的累積分布関数であり、gは関数です。私は収縮マッピングを持っているので、バナッハの固定小数点定理シーケンスを使用して積分方程式を解こうとしています。T1(x)=∫x0g(T1(y)) dF^n(y)T1(x)=∫0xg(T1(y)) dF^n(y) T_1(x) = \int_0^x g(T_1(y)) \ d\hat{F}_n(y) F^nF^n\hat{F}_nggg しかし、この非常にゆっくりとRで実行され、私は私がのために合計を使用して()関数を統合していますので、それは考えて何度も繰り返し。x∈F^nx∈F^nx \in \hat{F}_n 経験的な分布を使用して、integrate()などの関数と統合するより速い方法はありますか?

1
単純なR lmモデルから対数尤度を再計算する
私は単純にdnorm()を使用して、lmモデル(R)からのlogLik関数によって提供される対数尤度を再計算しようとしています。 大量のデータ(n = 1000など)でも(ほぼ完全に)機能します。 > n <- 1000 > x <- 1:n > set.seed(1) > y <- 10 + 2*x + rnorm(n, 0, 2) > mod <- glm(y ~ x, family = gaussian) > logLik(mod) 'log Lik.' -2145.562 (df=3) > sigma <- sqrt(summary(mod)$dispersion) > sum(log(dnorm(x = y, mean = predict(mod), …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.