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

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

3
Rを使用したリッジ回帰のKフォールドまたはホールドアウト相互検証
200人の被験者と1000個の変数を使用したデータの予測の相互検証に取り組んでいます。変数の数(使用したい)がサンプルの数より大きいので、リッジ回帰に興味があります。したがって、収縮推定量を使用したいと思います。以下はデータの例です。 #random population of 200 subjects with 1000 variables M <- matrix(rep(0,200*100),200,1000) for (i in 1:200) { set.seed(i) M[i,] <- ifelse(runif(1000)<0.5,-1,1) } rownames(M) <- 1:200 #random yvars set.seed(1234) u <- rnorm(1000) g <- as.vector(crossprod(t(M),u)) h2 <- 0.5 set.seed(234) y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g))) myd <- data.frame(y=y, M) myd[1:10,1:10] y X1 …

1
GLMMのanovaタイプIIIテスト
Rパッケージのglmerモデルを装着していlme4ます。p値が表示されたanovaテーブルを探していますが、それに適合するパッケージが見つかりません。Rでそれを行うことは可能ですか? 私が適合しているモデルは次の形式です: model1<-glmer(dmn~period*teethTreated+(1|fullName), family="poisson", data=subset(dataset, group=='Four times a year'), control=glmerControl(optimizer="bobyqa"))

5
ビッグデータのロジスティック回帰
約5000の機能のデータセットがあります。そのデータについて、私は最初に特徴の選択にカイ二乗検定を使用しました。その後、応答変数と有意な関係を示す変数を約1500個取得しました。 ここでロジスティック回帰を当てはめる必要があります。私はRにglmultiパッケージを使用しています(glmultiパッケージはvlmの効率的なサブセット選択を提供します)が、一度に30の機能しか使用できません。それ以外の場合、データセットの行数が約20000であるため、パフォーマンスが低下します。 上記の問題を解決する他のアプローチや手法はありますか?上記の方法で行くと、モデルを合わせるのに時間がかかりすぎます。

2
一般化線形モデルによるパラメーター推定
デフォルトglmでは、Rで関数を使用する場合、反復再重み付け最小二乗(IWLS)メソッドを使用して、パラメーターの最尤推定を見つけます。さて、二つ質問があります。 IWLS推定は、尤度関数のグローバル最大値を保証しますか?このプレゼンテーションの最後のスライドに基づいて、私はそうではないと思います!それを確かめたかっただけです。 上記の質問1の理由は、ほとんどすべての数値最適化メソッドがグローバルな最大値ではなくローカルな最大値でスタックする可能性があるという事実のためであると言えるでしょうか?

4
多変量機械学習を行う方法は?(複数の従属変数の予測)
私は誰かが購入するアイテムのグループを予測しようとしています...つまり、複数の同一直線上の従属変数があります。 7つほどの独立したモデルを構築して、7つのアイテムのそれぞれを購入する確率を予測して結果を組み合わせるのではなく、7つの関連する従属変数間の関係を説明する1つのモデルを作成するためにどのような方法を検討すればよいですか(彼らが購入できるもの)。 私はプログラミング言語としてRを使用しているので、R固有のアドバイスがあれば感謝します。

2
分割表のベイジアン分析:効果サイズの記述方法
私は、KruschkeのDoing Bayesian Data Analysisの例、特にch。のポアソン指数ANOVAに取り組んでいます。22、彼は分割表の独立性の頻出カイ二乗検定の代替として提示します。 変数が独立している場合(つまり、HDIがゼロを除外する場合)に予想されるよりも多かれ少なかれ頻繁に発生する相互作用に関する情報を取得する方法を確認できます。 私の質問は、このフレームワークでエフェクトサイズをどのように計算または解釈できるかです。たとえば、クルシュケは「青い目と黒い髪の組み合わせは、目の色と髪の色が独立している場合に予想されるよりも頻度が低い」と書いていますが、その関連付けの強さをどのように説明できますか?どの相互作用が他の相互作用よりも極端かを知るにはどうすればよいですか?これらのデータのカイ2乗検定を行った場合、全体的な効果の大きさの尺度としてCramérのVを計算できます。このベイジアンコンテキストでエフェクトサイズを表現するにはどうすればよいですか? これは、本からの自己完結型の例です(でコード化R)。答えがはっきり見えて私から隠されている場合に備えて... df <- structure(c(20, 94, 84, 17, 68, 7, 119, 26, 5, 16, 29, 14, 15, 10, 54, 14), .Dim = c(4L, 4L), .Dimnames = list(c("Black", "Blond", "Brunette", "Red"), c("Blue", "Brown", "Green", "Hazel"))) df Blue Brown Green Hazel Black 20 68 5 15 Blond …

2
R時系列の増加/減少傾向を検出します
日、週、月などの期間を含む時系列がたくさんあります。stl()機能またはでloess(x ~ y)私が見ることができますどのように特定の時系列表情の動向。時系列の傾向が増加しているか減少しているかを検出する必要があります。どうすれば管理できますか? 線形回帰係数を計算lm(x ~ y)して、勾配係数で遊んでみました。(If |slope|>2 and slope>0 then増加傾向、else if |slope|>2 and slope<0–減少)。多分傾向検出のための別のより効果的な方法がありますか?ありがとうございました! 例:私はtimeserie1、を持っていtimeserie2ます。それがtimeserie2増加アルゴリズムであることを教えてくれる単純なアルゴリズムが必要timeserie1です。どの基準を使用すればよいですか? timeserie1: 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 …
9 r  time-series  trend 

1
時変係数DLMのあてはめ
DLMを時変係数で適合させたい、つまり通常の線形回帰への拡張、 。yt= θ1+ θ2バツ2yt=θ1+θ2x2y_t = \theta_1 + \theta_2x_2 私は、予測子()と応答変数(y t)、海洋および内陸の年間漁獲量をそれぞれ1950〜2011年に取得しています。DLM回帰モデルに従ってください。バツ2x2x_2ytyty_t yt= θt 、1+ θt 、2バツtyt=θt,1+θt,2xty_t = \theta_{t,1} + \theta_{t,2}x_t ここで、システム進化方程式は θt=Gtθt−1θt=Gtθt−1\theta_t = G_t \theta_{t-1} PetrisらによるRを使用した動的線形モデルの43ページから。 ここでいくつかのコーディング、 fishdata <- read.csv("http://dl.dropbox.com/s/4w0utkqdhqribl4/fishdata.csv", header=T) x <- fishdata$marinefao y <- fishdata$inlandfao lmodel <- lm(y ~ x) summary(lmodel) plot(x, y) abline(lmodel) 明らかに、ここでは回帰モデルの時変係数がより適切です。私は121〜125ページの彼の例に従い、これを自分のデータに適用したいと思います。これは例のコーディングです ############ PAGE 123 require(dlm) …

1
Excel vs Rでカイ二乗を計算する奇妙な方法
計算していると主張しているExcelシートを見ていますが、この方法を認識していないため、何か不足しているのではないかと思っていました。χ2χ2\chi^2 これが分析しているデータです: +------------------+----------+----------+ | Total Population | Observed | Expected | +------------------+----------+----------+ | 2000 | 42 | 32.5 | | 2000 | 42 | 32.5 | | 2000 | 25 | 32.5 | | 2000 | 21 | 32.5 | +------------------+----------+----------+ そして、これはカイ二乗を計算するために各グループに対して行う合計です: P = (sum of all observed)/(sum of total …
9 r  chi-squared  excel 

3
線形回帰が単純な決定論的シーケンスの結果を予測できないのはなぜですか?
私の同僚が私にこの問題を送って、どうやらインターネット上でラウンドを行っているようです: If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ? 答えは200のようです。 3*6 4*8 5*10 6*12 7*14 8*16 9*18 10*20=200 Rで線形回帰を行う場合: data <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98)) lm1 <- lm(b~a, data=data) new.data <- data.frame(a=c(10,20,30)) predict <- predict(lm1, newdata=new.data, interval='prediction') 私は得ます: fit lwr …
9 r  regression  lm 

1
ランダムフォレストは、MNISTの2.8%テストエラーよりもはるかに優れていますか?
ランダムフォレストのMNIST、CIFAR、STL-10などへの適用に関する文献は見つかりませんでしたので、順列不変の MNISTを自分で試してみようと思いました。 ではR、私が試しました: randomForest(train$x, factor(train$y), test$x, factor(test$y), ntree=500) これは2時間実行され、2.8%のテストエラーが発生しました。 私はまた、scikit-learnを試しました RandomForestClassifier(n_estimators=2000, max_features="auto", max_depth=None) 70分後、2.9%のテストエラーが発生しましたが、代わりにn_estimators = 200を使用すると、わずか7分後に2.8%のテストエラーが発生しました。 OpenCVの、私が試しました rf.train(images.reshape(-1, 28**2), cv2.CV_ROW_SAMPLE, labels.astype('int')) これは6.5分間実行されrf、予測に使用すると15%のテストエラーが発生しました。params少なくともバージョン2.3.1では、ランダムフォレストへのPythonバインディングが引数を無視しているように見えるため、トレーニングしたツリーの数はわかりません。また、OpenCVに、回帰ではなく分類の問題を解決したいことを明確にする方法を理解できませんでした-に置き換えastype('int')てastype('float32')も同じ結果が得られるため、疑問があります。 ではニューラルネットワークのための順列不変のトレーニングは、おそらく一つのCPUに2時間以上かかるだろうが、MNISTベンチマーク、芸術の状態は、0.8%のテストエラーです。 ランダムフォレストを使用してMNISTで2.8%のテストエラーをはるかに上回ることは可能ですか?私は、一般的なコンセンサスは、ランダムフォレストは通常​​カーネルSVMと少なくとも同等であり、1.4%のテストエラーが発生する可能性があると考えていました。

1
R:Anovaと線形回帰
私は統計に不慣れで、ANOVAと線形回帰の違いを理解しようとしています。私はこれを調査するためにRを使用しています。ANOVAと回帰が異なるのになぜ同じであるか、どのように視覚化できるかなど、さまざまな記事を読みました。 ANOVAがグループ内の分散とグループ間の分散を比較して、テストされたグループ間に差異があるかどうかを判断することを理解しています。(https://controls.engin.umich.edu/wiki/index.php/Factor_analysis_and_ANOVA) 線形回帰の場合、私はこのフォーラムでb(勾配)= 0かどうかをテストすると同じことがテストできるという投稿を見つけました。) 3つ以上のグループについて、次のようなウェブサイトを見つけました。 帰無仮説は次のとおりです:H0:µ1=µ2=µ3H0:µ1=µ2=µ3\text{H}_0: µ_1 = µ_2 = µ_3 線形回帰モデルは次のとおりです:y=b0+b1X1+b2X2+ey=b0+b1X1+b2X2+ey = b_0 + b_1X_1 + b_2X_2 + e ただし、線形回帰の出力は1つのグループの切片であり、他の2つのグループの切片との差です。(http://www.real-statistics.com/multiple-regression/anova-using-regression/) 私にとって、これは実際には傾きではなく切片が比較されているように見えますか? 勾配ではなく切片を比較する別の例は、ここにあります:(http://www.theanalysisfactor.com/why-anova-and-linear-regression-are-the-same-analysis/) 線形回帰で実際に比較されるものを理解するのに苦労していますか?傾斜、切片、またはその両方?
9 r  regression  anova 

3
正規性テストの力の評価(R)
Rのさまざまなサンプルサイズでの正規性検定の精度を評価したい(正規性検定が誤解を招く可能性があることを理解しています)。たとえば、Shapiro-Wilkテストを確認するために、次のシミュレーション(および結果のプロット)を実行しています。サンプルサイズが増加すると、nullを拒否する確率が減少すると予想されます。 n <- 1000 pvalue_mat <- matrix(NA, ncol = 1, nrow = n) for(i in 10:n){ x1 <- rnorm(i, mean = 0, sd = 1) pvalue_mat[i,] <- shapiro.test(x1)$p.value } plot(pvalue_mat) 私の考えでは、サンプルサイズが大きくなると、拒否率は低くなるはずですが、かなり均一に見えます。私はこれを誤解していると思います-どんな考えでも歓迎します。

1
データの構造と時間依存変数を含む繰り返しイベントデータの関数呼び出し
患者の転倒の可能性()に対する2つの薬剤(drug1、drug2)の効果を推定しようとしていeventます。患者は複数回転倒する可能性があり、いつでも薬を服用したり、薬から離したりできます。 私の質問は、期間(日)に関してデータをどのように構造化する必要があるか、具体的には日の間で重複する必要があるかどうかです。私の構造が間違っていると思う理由は2つあります。1つは一見間違っているようNです。期間は単一の日(つまり、ここで私はまた、いくつかのエラーを取得していますtime1=4、time2=4)およびこれらをコード化する必要があるかわかりませんよ。後続のエントリの開始時刻は、前のエントリの停止時刻にする必要がありますか?私はそれを両方の方法で試しました(オーバーラップありとオーバーラップなし)。オーバーラップがあると警告が表示されNなくなりますが、それでも正しくありません。 Warning message: In Surv(time = c(0, 2, 7, 15, 20, 0, 18, 27, 32, 35, 39, 46, 53, : Stop time must be > start time, NA created 現在、次のエントリの開始が翌日になるようにデータを設定しています。ユニークな患者はによって識別されますchart numbers。 Time1 Time2 Drug1 Drug2 Event ChartNo 0 2 1 0 0 123 3 10 1 1 1 123 …
9 r  survival  cox-model 

3
ロジスティック回帰:真陽性の最大化-偽陽性
ロジスティック回帰モデル(エラスティックネット正則化を備えたRのglmnetを介してフィット)があり、真陽性と偽陽性の差を最大化したいと思います。これを行うために、次の手順が思い浮かびました: 標準ロジスティック回帰モデルに適合 予測しきい値を0.5として使用して、すべての正の予測を特定する 正に予測された観測値に重み1を割り当て、その他すべてに0を割り当てます 重み付きロジスティック回帰モデルのあてはめ このアプローチの欠点は何でしょうか?この問題を解決する正しい方法は何でしょうか? 真陽性と偽陰性の数の差を最大化したい理由は、アプリケーションの設計によるものです。クラスプロジェクトの一環として、私はオンラインマーケットプレイスで自律的な参加者を構築しています。私のモデルが何かを購入して後でより高い価格で販売できると予測した場合、入札を行います。ロジスティック回帰に固執し、固定費と単価の増分に基づいてバイナリの結果(勝ち、負け)を出力したいと思います(すべてのトランザクションで同じ金額を増減します)。誤検知は、私が何かを購入し、それをより高い価格で販売することができないことを意味するため、私を傷つけます。しかし、偽陰性は私に害を及ぼすことはありません(機会費用の点でのみ)。それは、私が購入しなかったというだけのことですが、もし持っていたなら、私はお金を稼いだでしょう。同様に、 0.5のカットオフは完全に任意であり、真/偽陽性の差が最も大きくなる予測しきい値でステップ1のモデルを最適化すると、0.4に近づくことがわかります。これは私のデータの歪んだ性質によるものだと思います-ネガティブとポジティブの比率は約1:3です。 現在、私は次の手順に従っています: データをトレーニング/テストに分割 トレーニングにモデルを適合させ、テストセットで予測を行い、真陽性と偽陽性の差を計算します モデルを完全にフィットさせ、テストセットで予測を行い、真陽性と偽陽性の差を計算します トレーニングセットがフルセットのサブセットであるにもかかわらず、ステップ#3の真/偽陽性の差は、ステップ#2よりも小さくなります。#3のモデルの真のネガティブが多く、偽ネガティブが少ないかどうかは気にしないので、尤度関数自体を変更せずにできることはありますか?

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