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

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

2
R MICEデータ補完の実行時間を改善する方法
簡単に言えば、R MICE(データ補完)の実行時間を改善する方法はありますか? 私はデータセット(30変数、130万行)で作業しています。これには(かなりランダムに)欠落したデータが含まれています。30変数のうち約15の観測値の約8%にNAが含まれています。不足しているデータを補完するために、MICEパッケージの一部であるMICE関数を実行しています。 method = "fastpmm"でm = 1のサブセット(100,000行)でも、実行時間が非常に遅くなり、約15分間実行されます。 パフォーマンスをあまり落とさずに実行時間を改善する方法はありますか?(mice.impute.meanは非常に高速ですが、重要な情報が失われます!)。 再現可能なコード: library(mice) df <- data.frame(replicate(30,sample(c(NA,1:10),1000000,rep=TRUE))) df <- data.frame(scale(df)) output <- mice(df, m=1, method = "fastpmm")

2
回帰のより最近の観測により多くの重みを割り当てる
Rでより最近の観測により多くの重みを割り当てるにはどうすればよいですか? 私はこれをよくある質問または欲求と見なしますが、これを実装する方法を正確に理解するのに苦労します。私はこれについてたくさん検索しようとしましたが、良い実用的な例を見つけることができません。 私の例では、時間の経過とともに大きなデータセットができます。最近のデータ行にある種の指数重み付けを適用したいと言いたいです。したがって、2015年の観測は2012年の観測よりもモデルのトレーニングに重要であると言って、ある種の指数関数を持つことになります。 データセット変数にはカテゴリ値と数値の混合が含まれており、ターゲットは数値です-それが重要な場合。 GBRET / Random Forestなどのモデルを使用して、理想的にはCARETパッケージでテスト/試してみたいと思います。 更新質問 2つのポイント間の日付距離によって重みを指数関数的に減衰させる方法について、以下に示す応答に感謝します。 ただし、このモデルをキャレットでトレーニングする場合、重みはどの程度正確に考慮されますか?各トレーニング行の重み値は、将来のあるポイントとそのポイントが履歴的に発生したときの間の距離です。 重みは予測中にのみ機能しますか?なぜなら、それらがトレーニング中に出てきた場合、さまざまなクロスフォールドが異なる重みを持ち、実際にその前の時点であるかもしれない何かを予測しようとするため、あらゆる種類の問題を引き起こさないのではないでしょうか?

2
これら2つのBreusch-Paganテストの違いは何ですか?
一部のデータでRを使用し、データが不均一であるかどうかを確認しようとしたところ、Breusch-Paganテストの2つの実装、bptest(パッケージlmtest)とncvTest(パッケージcar)が見つかりました。ただし、これらの結果は異なります。2つの違いは何ですか?どちらを使用するかをいつ選択すべきですか? > model <- lm(y ~ x) > bp <- bptest(model) > bp studentized Breusch-Pagan test data: model BP = 3.3596, df = 1, p-value = 0.06681 > ncvTest(model) Non-constant Variance Score Test Variance formula: ~ fitted.values Chisquare = 3.858704 Df = 1 p = 0.04948855 これらの例は、テストによると、私のデータはある場合には異分散性であり、別の場合には同分散性であることを示しています。ここでこの質問を見つけたので、bptestが学生化されている可能性があり、ncvTestはそうではない可能性がありますが、これはどういう意味ですか?

1
二項GLMM(glmer)を比率または分数である応答変数に近似する
誰かが私が比較的単純な質問だと思うことを手伝ってくれるといいのですが、私は答えを知っていると思いますが、確認なしでは、それは私が確信できないものになっています。 いくつかのカウントデータを応答変数として持っていますが、何かが比例して存在するときにその変数がどのように変化するかを測定したいと思います。 より詳細には、応答変数は多数のサイトでの昆虫種の存在の数です。たとえば、サイトは10回サンプリングされ、この種は4回発生する可能性があります。 これが、これらのサイトの植物の全体的なコミュニティーにおける植物種のグループの比例的な存在と相関関係があるかどうかを確認したいと思います。 これは私のデータが次のように見えることを意味します(これは単なる例です) Site, insectCount, NumberOfInsectSamples, ProportionalPlantGroupPresence 1, 5, 10, 0.5 2, 3, 10, 0.3 3, 7, 9, 0.6 4, 0, 9, 0.1 データには、場所のランダムな影響も含まれます。 私は2つの方法を考えました、1つはlmer昆虫を比率に変換した線形モデル()でしょう lmer.model<-lmer(insectCount/NumberOfInsectSamples~ ProportionalPlantGroupPresence+(1|Location),data=Data) 2番目は二項GLMM(glmer)です。 glmer.model <- glmer(cbind(insectCount,NumberOfInsectSamples-insectCount)~ ProportionalPlantGroupPresence+(1|Location), data=Data,family="binomial") 私は二項グラマーが正しい方法であると信じていますが、それらはかなり異なる結果を生み出します。私はまだ少し不安を感じずにネット上で決定的な答えを見つけることができないようで、間違いを犯さないようにしたいと思います。 これに関する別の方法への助けや洞察は大歓迎です。

2
クラスタリング問題の機能選択
教師なしアルゴリズム(クラスタリング)を使用して、異なるデータセットをグループ化しようとしています。問題は、私が多くの機能(〜500)と少量のケース(200-300)を持っていることです。 これまでは、データを常にトレーニングセットとしてラベル付けしていた分類問題のみを使用していました。そこで、機能の事前選択にいくつかの基準(つまり、random.forest.importanceまたはinformation.gain)を使用し、次に、さまざまな学習者に順次転送選択を使用して、関連する機能を見つけました。 これで、教師なし学習の場合、事前選択の基準がなく、順次フォワード選択を使用できないことがわかります(少なくともmlrパッケージでは使用できません)。 クラスタリングアルゴリズムに適用する少数の機能を見つける前に主成分分析を実行できるかどうか疑問に思っていました。それとも他のアイデアはありますか? ありがとう 編集: さて、オンラインで調査した後、質問を少し更新できます。まず、次の2つの理由により、アルゴリズムをクラスタリングする前にPCAの使用を妨げる記事をいくつか読んだことがあります。 PCはすべての機能の機能であるため、結果を初期データセットに関連付けることが難しく、解釈が難しくなります。 さらに、実際には機能のごく一部しかクラスタリングに役立たないという問題がある場合、これらの機能がサンプル間の最大の分散(PCが行うこと)も説明しているとは言えません。 PCAは発表されていません... これで、クラスタリングのために順次フォワード選択を行うという最初のアイデアに戻りました。 どのパフォーマンス指標をお勧めしますか?(ダンインデックスについて考えました)どのクラスタリングアルゴリズムが多かれ少なかれ同じサイズのクラスターをもたらすでしょうか?(階層的クラスタリングでは、通常、1つの異常値を持つ1つのクラスターと残りすべての異常値を持つ別のクラスターを取得します->したがって、異常値から何らかの形で保護するものが必要になります) 皆さんが私を助けてくれることを願っています...


1
Rでlmerを使用してカスタムコントラストを設定する方法
Rでlmerを使用して、条件(cond)の結果への影響を確認しています。ここではいくつかのSは主題識別子であるデータを、作られておりa、bそしてc条件です。 library("tidyr") library("dplyr") set.seed(123) temp <- data.frame(s = paste0("S", 1:30), a = rnorm(30, -2, 1), b = rnorm(30, -3, 1), c = rnorm(30, -4, 1)) 比較したい レベルaレベルの平均にbとcと レベルbからレベルへc。 私の質問は、切片が3つの条件の平均を反映し、2つの計算された推定値が1.と2。 私が試した c1 <- cbind(c(-0.5, 0.25, 0.25), c(0, -0.5, 0.5)) gather(temp, cond, result, a, b, c) %>% lmer(result ~ cond + (1|s), …

1
ダイにはいくつの面がありますか?JAGSのベイズ推定
問題 辺の数が不明で死ぬのに類似したシステムについて、いくつかの推論をしたいと思います。サイコロを数回振り、その後、サイコロの側面の数θに対応するパラメーターの確率分布を推測します。 直感 40回ロールした後、10個の赤、10個の青、10個の緑、10個の黄を観察した場合、θは4でピークになり、各側のロールのバイアスは1/4を中心とした分布になります。 θには自明な下限があり、これはデータで観測されたさまざまな辺の数です。 上限はまだ不明です。おそらくバイアスが低い5番目のサイドが存在する可能性があります。5番目のカテゴリがないことを示すデータが多いほど、θ= 4の事後確率が高くなります。 アプローチ ここでは適切と思われる同様の問題(Rおよびrjagsを介して)にJAGSを使用しました。 データに関してobs <- c(10, 10, 10, 10)、上の例の観測に対応するとします。 私は観測が多項分布でモデル化されるべきだと思うobs ~ dmulti(p, n)、p ~ ddirch(alpha)とn <- length(obs)。 θはによって暗示されるカテゴリの数にリンクされているalphaのでalpha、さまざまな数のカテゴリを含むようにモデル化するにはどうすればよいですか? 代替案? 私はベイジアン分析にかなり新しいので、間違ったツリーを完全に見つけ出すかもしれませんが、この問題について異なる洞察を提供するかもしれない代替モデルはありますか? どうもありがとう!デビッド

2
tsoutliersパッケージとauto.arimaを使用して予測を解釈および実行する方法
1993年から2015年までの月次データがあり、これらのデータを予測したいと思います。私はtsoutliersパッケージを使用して外れ値を検出しましたが、自分のデータセットを使用して予測を続行する方法がわかりません。 これは私のコードです: product.outlier<-tso(product,types=c("AO","LS","TC")) plot(product.outlier) これはtsoutliersパッケージからの私の出力です ARIMA(0,1,0)(0,0,1)[12] Coefficients: sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200 0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386 s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040 LS207 AO237 TC248 AO260 AO266 0.4228 …


1
マルチレベルのロジスティック回帰モデルの推定
レベル1(個別レベル)に1つの説明変数とレベル2(グループレベル)に1つの説明変数を持つ次のマルチレベルロジスティックモデル: logit(pij)=π0j+π1jxij…(1)logit(pij)=π0j+π1jxij…(1)\text{logit}(p_{ij})=\pi_{0j}+\pi_{1j}x_{ij}\ldots (1) π0j=γ00+γ01zj+u0j…(2)π0j=γ00+γ01zj+u0j…(2)\pi_{0j}=\gamma_{00}+\gamma_{01}z_j+u_{0j}\ldots (2) π1j=γ10+γ11zj+u1j…(3)π1j=γ10+γ11zj+u1j…(3)\pi_{1j}=\gamma_{10}+\gamma_{11}z_j+u_{1j}\ldots (3) ここで、グループレベルの残差およびは、期待値がゼロの多変量正規分布であると想定されます。残差誤差の分散は として指定され、残差誤差の分散は として指定されます。u0ju0ju_{0j}u1ju1ju_{1j}u0ju0ju_{0j}σ20σ02\sigma^2_0u1ju1ju_{1j}σ21σ12\sigma^2_1 モデルのパラメーターを推定したいのですが、Rcommand を使用したいと思います glmmPQL。 式(1)に式(2)と(3)を代入すると、 logit(pij)=γ00+γ10xij+γ01zj+γ11xijzj+u0j+u1jxij…(4)logit(pij)=γ00+γ10xij+γ01zj+γ11xijzj+u0j+u1jxij…(4)\text{logit}(p_{ij})=\gamma_{00}+\gamma_{10}x_{ij}+\gamma_{01}z_j+\gamma_{11}x_{ij}z_j+u_{0j}+u_{1j}x_{ij}\ldots (4) 30のグループと各グループに5つの個人があります。(j=1,...,30)(j=1,...,30)(j=1,...,30) Rコード: #Simulating data from multilevel logistic distribution library(mvtnorm) set.seed(1234) J <- 30 ## number of groups n_j <- rep(5,J) ## number of individuals in jth group N <- sum(n_j) g_00 <- -1 g_01 …

1
Rでの投げ縄回帰の交差検証
R関数cv.glm(ライブラリ:ブート)は、一般化線形モデルの推定K分割交差検定予測誤差を計算し、デルタを返します。なげなわ回帰(ライブラリ:glmnet)にこの関数を使用することには意味がありますか?その場合、どのように実行できますか?glmnetライブラリは、交差検証を使用して最適な回転パラメーターを取得しますが、最終的なglmnet方程式を交差検証する例は見つかりませんでした。

1
2つのモデルの比較にanovaを使用する方法
anova2つのモデルを比較するときの結果をどのように理解すればよいですか? 例: Res.Df RSS Df Sum of Sq F Pr(>F) 1 9 54.032 2 7 4.632 2 49.4 37.329 0.0001844 *** マンページには、「1つまたは複数の適合モデルオブジェクトの分散(または逸脱)の計算分析テーブル」と記載されています。しかし、外の教授はそれがモデルの比較に使用されるかもしれないと述べました-それは私がやろうとしていることです。 したがって、私はanova(model1, model2)、帰無仮説「モデルは同じ」を棄却する必要があるかどうかを示すp値を使用して取得できると想定します。 p値が(たとえば、)0.05未満の場合、モデルが大幅に異なると述べてもよいですか?
9 r  regression  anova 

1
どのように見つけ、と連続変数のための最適な離散化を評価するために、
連続変数とバイナリターゲット変数(0と1)を含むデータセットがあります。 (ロジスティック回帰の)連続変数をターゲット変数に関して離散化する必要があります。また、各区間での観測頻度のバランスをとるように制約されています。Chi Mergeのような機械学習アルゴリズム、決定木を試しました。Chiマージにより、各間隔で非常に不均衡な数の間隔が得られました(3つの観測値を持つ間隔と1000の別の間隔)。決定木は解釈が困難でした。 最適な離散化では、離散化された変数とターゲット変数の間の統計が最大化され、ほぼ同じ量の観測を含む間隔が必要であるという結論に達しました。χ2χ2\chi^2 これを解決するためのアルゴリズムはありますか? これはRでは次のようになります(defはターゲット変数、xは離散化される変数です)。私はTschuprowの計算ので、変換され、ターゲット変数間の「相関性」を評価するために、χ 2統計は間隔の数に伴って増加する傾向にあります。これが正しい方法かどうかはわかりません。TTTχ2χ2\chi^2 TTT chitest <- function(x){ interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE) X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic #Tschuprow Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1)))) print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup)) }

2
主成分分析の出力からの結論
次のように実行される主成分分析の出力を理解しようとしています。 > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa > res = prcomp(iris[1:4], scale=T) > …
9 r  pca  interpretation 

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