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

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

1
RでのPCAの視覚化:データポイント、固有ベクトル、射影、信頼楕円
私は17人のデータセットを持ち、77のステートメントをランク付けしています。ステートメント間(ケースとして)の人(変数)間の相関の転置相関行列の主成分を抽出したい。奇妙なことに、Qメソドロジと呼ばれています。 データのペアのみの固有値/ベクトルを抽出して視覚化することにより、このコンテキストでPCAがどのように機能するかを説明します。(私の分野では PCAを取得している人はほとんどいないため、QAへの適用はもちろんのこと、私も含まれます)。 私の実際のデータに対してのみ、この素晴らしいチュートリアルからの視覚化が必要です。 これを私のデータのサブセットにしましょう: Person1 <- c(-3,1,1,-3,0,-1,-1,0,-1,-1,3,4,5,-2,1,2,-2,-1,1,-2,1,-3,4,-6,1,-3,-4,3,3,-5,0,3,0,-3,1,-2,-1,0,-3,3,-4,-4,-7,-5,-2,-2,-1,1,1,2,0,0,2,-2,4,2,1,2,2,7,0,3,2,5,2,6,0,4,0,-2,-1,2,0,-1,-2,-4,-1) Person2 <- c(-4,-3,4,-5,-1,-1,-2,2,1,0,3,2,3,-4,2,-1,2,-1,4,-2,6,-2,-1,-2,-1,-1,-3,5,2,-1,3,3,1,-3,1,3,-3,2,-2,4,-4,-6,-4,-7,0,-3,1,-2,0,2,-5,2,-2,-1,4,1,1,0,1,5,1,0,1,1,0,2,0,7,-2,3,-1,-2,-3,0,0,0,0) df <- data.frame(cbind(Person1, Person2)) g <- ggplot(data = df, mapping = aes(x = Person1, y = Person2)) g <- g + geom_point(alpha = 1/3) # alpha b/c of overplotting g <- g + geom_smooth(method = "lm") # just for …

3
均一分布を使用したRでの相関ランダムサンプルの生成
[最近の質問で、Rでランダムなベクトルを生成することを検討しており、その「研究」を特定のポイントに関する独立したQ&Aとして共有したいと思いました。] 相関してランダムなデータを生成する相関行列のコレスキー分解を用いて行うことができるここでの前記事に反映されるように、ここで及びここ。C= L LTC=LLTC = LL^{T} 私が対処したいのは、Rの異なる周辺分布から相関乱数を生成するために均一分布を使用する方法です。

1
Rからの機械学習モデルの「エクスポート」
Rの従来のトレーニング/テストセットでクラシックMLモデルを構築して実装できますが、パートナーが自分の(あらゆる種類の)システムを実装するためにこのモデルを取得したい場合はどうなりますか?もちろん、Rモデル構造の保存と送信は役に立ちません。また、予測メカニズムを理解することは、多くの(ブラックボックス)ケースでも機能しません。では、モデルの学習したルールを一般化して利用するにはどうすればよいでしょうか。

1
時系列予測の問題
Rでの時系列のモデリングについて質問を受けました。私のデータは次のマトリックスで構成されています。 1 0.03333333 0.01111111 0.9555556 2 0.03810624 0.02309469 0.9387991 3 0.00000000 0.03846154 0.9615385 4 0.03776683 0.03119869 0.9310345 5 0.06606607 0.01201201 0.9219219 6 0.03900325 0.02058505 0.9404117 7 0.03125000 0.01562500 0.9531250 8 0.00000000 0.00000000 1.0000000 9 0.04927885 0.01802885 0.9326923 10 0.06106870 0.02290076 0.9160305 11 0.03846154 0.00000000 0.9615385 12 0.00000000 0.00000000 1.0000000 13 …

1
dfbetasを手動で計算する方法
Rでの関数のdfbetas()動作を再現しようとしています。 dfbeta() 問題ではありません...ここに一連のベクトルがあります: x <- c(0.512, 0.166, -0.142, -0.614, 12.72) y <- c(0.545, -0.02, -0.137, -0.751, 1.344) 次のように2つの回帰モデルを当てはめる場合: fit1 <- lm(y ~ x) fit2 <- lm(y[-5] ~ x[-5]) 最後のポイントを削除すると、非常に異なる勾配(青い線-急)になることがわかります。 これは、勾配の変化に反映されています。 fit1$coeff[2] - fit2$coeff[2] -0.9754245 これdfbeta(fit1)は、5番目の値のと一致します。 (Intercept) x 1 0.182291949 -0.011780253 2 0.020129324 -0.001482465 3 -0.006317008 0.000513419 4 -0.207849024 0.019182219 5 …

1
Rの異なるロバスト回帰の間の選択
私は不動産を評価するためのプログラムを書いており、いくつかの堅牢な回帰モデルの違いを本当に理解していません。そのため、どちらを選択するかわかりません。 私が試したlmrob、ltsRegとrlm。同じデータセットの場合、3つの方法すべてで係数の値が異なります。 私はそれが使用するのが最善であると考えltsReg、ためsummary(ltsReg())の情報を提供R-squaredしてp-values、これは私がモデルを受け入れるか却下するとどうかを判断するのに役立ちます。 それltsRegは良い選択だと思いますか? 編集:私はちょうど適合 R 統計を読んだところですが、調整されたR二乗は一般的に品質適合の最良の指標です


2
ウィルコクソンの順位和検定は、寄付の合計が異なるかどうかを確認する正しい検定ですか?
バックグラウンド: 私のソフトウェアは、ユーザーに任意の金額の寄付を求めています。ユーザーにテスト寄付のリクエストを分割して、尋ねる最良の方法を見つけました:50%がリクエストバージョン1を取得し、50%がリクエストバージョン2を取得し、どちらがより良いかを確認します。 ほとんどすべてのユーザーが0ドルを寄付しますが、一部は寄付します。結果は次のようになります。 Number of users Number of donations Dollar amounts donated GROUP A 10,000 10 40,20,20,20,15,10,10,5,5,5 GROUP B 10,000 15 50,20,10,10,10,10,10,10,5,5,5,5,5,5,5 1つのグループが勝者であるか、それとも同点であるか、または確実にするためにより大きなサンプルが必要かどうかを知りたい。(この例は、議論を簡単にするために残されていますが、重要な結果を得るためには、ほぼ確実に大きなサンプルが必要です。) 私がすでに測定しているもの: 1つのグループで寄付の数が大幅に増えましたか?どれくらい大きい? 私はこのp値と信頼区間をABBA Thumbtackツールを使用して測定し、寄付の数とユーザーの数のみを使用して、金額は無視しています。その方法論については、「基礎となる統計とは」に説明されています。そのリンクのセクション。(それは私の頭の上にありますが、寄付率の差をアグレスティクーリ間隔の通常の確率変数としてとることによって信頼区間を計算すると思います。) 1つのグループが寄付した金額は大きく異なりますか? 順列テストを実行してこのp値を測定します。すべての2N被験者を2つのN被験者グループに繰り返しシャッフルし、グループ間の合計金額の差を毎回測定し、差が> =観察されたシャッフルの割合を見つけます。差。(これは、ドルの代わりにクラッカーに対して同じことを行うこのカーンアカデミーのビデオに基づいて有効だと思います。) Rのwilcox.test: wilcox.test()R についてのいくつかの質問: wilcox.test(paired=FALSE)上記のデータの表を入力した場合、上記のツールでまだ回答されていない新しい質問に答えて、テストの実行を継続するか、勝者を宣言するか、ネクタイを宣言するかを判断するためのより多くの洞察を与えますか? もしそうなら、それはどんな正確な質問に答えますか?

2
glmnetは
最適値を選択するための一つの基準弾性ネットまたは類似献上回帰では、範囲に対するずれのプロットを調べることである選択し逸脱が最小化される場合(またはの1つの標準誤差以内最小)。λ λ λλλ\lambdaλλ\lambdaλλ\lambdaλλ\lambda ただし、表示されるプロットはに対する逸脱をプロットした結果にまったく似ていないため、正確に何がglmnet表示されるかを理解するのは困難です。plot.cv.glmnetλλ\lambda set.seed(4567) N <- 500 P <- 100 coefs <- NULL for(p in 1:P){ coefs[p] <- (-1)^p*100*2^(-p) } inv.logit <- function(x) exp(x)/(1+exp(x)) X <- matrix(rnorm(N*P), ncol=P, nrow=N) Y <- rbinom(N, size=1, p=inv.logit(cbind(1, X)%*%c(-4, coefs))) plot(test <- cv.glmnet(x=X, y=Y, family="binomial", nfolds=10, alpha=0.8)) plot(log(test$lambda), deviance(test$glmnet.fit)) 2番目のプロットにはエラスティックネットペナルティが組み込まれておらず、垂直方向に誤ってスケーリングされているようです。値が大きい場合の曲線の形状は出力の形状に似ているという根拠に基づいて、私は主張を基にしています。しかし、自分でペナルティを計算しようとした場合、私の試みも同様に非常に不正確に見えます。λλ\lambdaglmnet penalized.dev.fn <- function(lambda, …
8 r  glmnet 

2
繰り返し再重み付けされた最小二乗法がロジスティック回帰に使用されたときに収束しない理由は何ですか?
私はRでglm.fit関数を使用して、パラメーターをロジスティック回帰モデルに適合させています。デフォルトでは、glm.fitは繰り返し重み付けされた最小二乗法を使用してパラメーターを近似します。このアルゴリズムをロジスティック回帰に使用すると、収束に失敗する理由は何ですか?

2
t検定のp値を手動で計算する:
p値を計算するこれらの2つの方法は同等である必要があります。 t.test(rats.drug,mu=1.2)$p.value 2*pt((mean(rats.drug)-1.2)*sqrt(n)/sd(rats.drug),df=n-1) 2番目の方法の問題は、より大きい値(実際には)を取得するリスクがあることです。2111222 2*pt((1.5-1.2)*sqrt(100)/.5,df=100-1) [1] 2 これはもちろん修正できます 2*pt((1.5-1.2)*sqrt(100)/.5,df=100-1,lower=F) [1] 3.245916e-08 私の質問 明らかに、t検定関数のアルゴリズムは、これらの2つのケースを区別するのに十分にインテリジェントです(サンプルの平均が与えられた平均より大きいか小さいか)。t検定関数によって行われる、p値の計算を手動で複製する簡単な方法はありますか? 現在の私の解決策は、結果の値がより大きいかどうかをチェックするifステートメントであり、この場合、lower = Fオプションを使用して同じ計算を再度実行しますが、おそらくより良い方法があります。111
8 r  t-test  p-value 

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 …

2
ロジスティック回帰で係数間の関係を強制する方法はありますか?
次の関係があるロジスティック回帰モデルを指定したいと思います。 FE[ Y私| バツ私] = f(βバツ私1+ β2バツ私2)E[Yi|Xi]=f(βxi1+β2xi2)E[Y_i|X_i] = f(\beta x_{i1} + \beta^2x_{i2})ここで、は逆ロジット関数です。fff 既存のR関数でこれを行う「迅速な」方法はありますか、またはこのようなモデルの名前はありますか?私はロジスティック回帰に使用されるNewton-Raphsonアルゴリズムを変更できることを理解していますが、これは多くの理論的およびコーディング作業であり、ショートカットを探しています。 編集:確率を最大化するためにRのoptim()または他のオプティマイザーを使用して、ポイント推定値を取得することは非常に簡単です。しかし、私はこれらの人の標準エラーが必要です。ββ\beta

1
Rのauto.arimaは、考えられる他のモデルよりもAIC、AICC、BICが高いモデルを報告する必要がありますか?
auto.arimaを使用して時系列モデル(Rob Hyndmanのサイトで説明されているように、ARIMAエラーのある線形回帰)を近似しました情報基準の値を次のように報告します AIC:2989.2 AICC:2989.3 BIC:3261.2 Arimaを使用して、ドリフト構造を持つ(1,1,1)のモデルを近似すると、出力は著しく低いICの AIC:2510.3 AICC:2510.4 BIC:2759 auto.arimaに、ドリフトモデル(start.pおよびstart.qパラメーターを使用)で(1,1,1)を考慮するように強制できます。その際、 "trace = TRUE"を設定します。 (1,1,1)ドリフトモデルは考慮されますが、auto.arimaによって拒否されます。それでも(5,1,0)ドリフトモデルが最良の結果として報告されます。 auto.arimaが他の基準を使用してモデルを選択する状況はありますか? 追加するために編集(リクエストに応じて) この例のデータは、このGoogleスプレッドシートで見つけることができます 例を再現するRコードは repro = read.csv("mindata.csv") reprots = ts(repro, start=1, frequency=24) fitauto = auto.arima(reprots[,"lnwocone"], xreg=cbind(fourier(reprots[,"lnwocone"], K=11), reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]), start.p=1, start.q=1, trace=TRUE, seasonal=FALSE) fitdirect <- Arima(reprots[,"lnwocone"], order=c(1,1,1), seasonal=c(0,0,0), xreg=cbind(fourier(reprots[,"lnwocone"], K=11), reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]), include.drift=TRUE) summary(fitauto) summary(fitdirect) Googleドキュメントデータ-インラインコードはサンプルを提供する最良の方法ではありません。私は過去のガイドラインでこれを行うための最良の方法を見てきましたが、今朝の検索でそれらのガイドラインを見つけることができませんでした。
8 r  arima  aic 

1
VARモデルをRで近似する[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新することがありますので、話題のクロス検証済みのため。 2年前休業。 私は2変量の時系列を持っています。z_tここz_1tで、米国の毎月の短期国債(満期3か月)の変化z_2tと、米国の月次消費者物価指数(CPI)のパーセントでのインフレ率です。使用されるCPIは、都市部のすべての消費者の消費者物価指数:すべてのアイテム(CPIAUCSL)です。元のデータは、セントルイス連邦準備銀行からダウンロードされます。CPIレートは、ログCPIインデックスの最初の差の100倍です。指定したVARモデルを近似し、しきい値R 1.65のコマンドR(refVarパッケージからMTSまたはrestrictパッケージからvars)によって近似を簡略化したいと思います。 この演習(pdf)は、シカゴ大学のR. TsayのWebサイトで見つけました。データはこちら。 私が今まで行ったことは次のとおりです。 y <- diff(zt[,3]) lot(y, type="l", ylab="tb3m") # difference x <- diff(log(zt[,4])) plot(x, type="l", ylab="CPI rate") new <- cbind(x, y) # order selection gives VAR(6) VARselect(new, lag.max=9, type="const") data1 <- data[,c("tb3m","cpiaucsl")] fit <- VAR(data1,p=6) fit restrict(fit, method="ser", thresh=1.65, resmat=T) restrictそしてVAR私の右の結果またはPDFで回答におけるVaRモデルの同じ係数を与えることはありません。
8 r  time-series  var 

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