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

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

1
「固有」が行列の反転にどのように役立つかを説明する
私の質問は、geoR:::.negloglik.GRFまたはで悪用された計算技術に関するものgeoR:::solve.geoRです。 線形混合モデルのセットアップ: ここで、とはそれぞれ固定効果とランダム効果です。また、β B Σ = COV (Y )Y=Xβ+Zb+eY=バツβ+Zb+e Y=X\beta+Zb+e ββ\betabbbΣ=cov(Y)Σ=cov(Y)\Sigma=\text{cov}(Y) 影響を推定する場合、計算する必要がある 通常のようなものを使用して行うことができ、時にははほとんど可逆的ではないので、トリックを使用してください(X ' Σ - 1 X )(X′Σ−1X)−1X′Σ−1Y(X′Σ−1X)−1X′Σ−1Y (X'\Sigma^{-1}X)^{-1}X'\Sigma^{-1} Y solve(XtS_invX,XtS_invY)(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X)geoR t.ei=eigen(XtS_invX) crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY (に見られるgeoR:::.negloglik.GRFとgeoR:::.solve.geoR)分解に達した したがって (X′Σ−1X)=ΛDΛ−1(X′Σ−1X)=ΛDΛ−1 (X'\Sigma^{-1}X)=\Lambda D \Lambda^{-1}\\ Λ′=Λ−1Λ′=Λ−1\Lambda'=\Lambda^{-1}(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1)(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1) (X'\Sigma^{-1}X)^{-1}=(D^{-1/2}\Lambda^{-1})'(D^{-1/2}\Lambda^{-1}) 2つの質問: この固有分解は反転にどのように役立ちますか?(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X) 他の実行可能な代替手段(堅牢で安定したもの)はありますか?(例:qr.solveまたはchol2inv)

2
R:family =“ binomial”および“ weight”仕様のglm関数
family = "binomial"を使用してglmで体重がどのように機能するか、非常に混乱しています。私の理解では、family = "binomial"のglmの可能性は次のように指定されます f(y)=(nny)pny(1−p)n(1−y)=exp(n[ylogp1−p−(−log(1−p))]+log(nny))f(y)=(nny)pny(1−p)n(1−y)=exp⁡(n[ylog⁡p1−p−(−log⁡(1−p))]+log⁡(nny)) f(y) = {n\choose{ny}} p^{ny} (1-p)^{n(1-y)} = \exp \left(n \left[ y \log \frac{p}{1-p} - \left(-\log (1-p)\right) \right] + \log {n \choose ny}\right) ここで、yyyは「観察された成功の割合」であり、nnnは既知の試行回数です。 私の理解では、成功の確率pppは、ような線形係数とfamily = "binomial"のglm関数でパラメーター化されます: 次に、この最適化問題は次のように簡略化できます。ββ\betap=p(β)p=p(β)p=p(\beta)argmaxβ∑ilogf(yi).argmaxβ∑ilog⁡f(yi). \textrm{arg}\max_{\beta} \sum_i \log f(y_i). argmaxβ∑ilogf(yi)=argmaxβ∑ini[yilogp(β)1−p(β)−(−log(1−p(β)))]+log(niniyi)=argmaxβ∑ini[yilogp(β)1−p(β)−(−log(1−p(β)))]argmaxβ∑ilog⁡f(yi)=argmaxβ∑ini[yilog⁡p(β)1−p(β)−(−log⁡(1−p(β)))]+log⁡(niniyi)=argmaxβ∑ini[yilog⁡p(β)1−p(β)−(−log⁡(1−p(β)))] \textrm{arg}\max_{\beta} \sum_i \log f(y_i)= \textrm{arg}\max_{\beta} \sum_i n_i \left[ y_i \log \frac{p(\beta)}{1-p(\beta)} - \left(-\log …

2
Rを使用した時系列分析の手順と方法
私は、今後6か月間、商品(石油、アルミニウム、錫など)の価格を予測しようとする小さなプロジェクトに取り組んでいます。予測するそのような変数は12個あり、2008年4月から2013年5月までのデータがあります。 予測についてはどうすればいいですか?私は次のことをしました: Timeseriesデータセットとしてインポートされたデータ すべての変数の季節性はトレンドによって異なる傾向があるため、乗法モデルを使用します。 加算モデルに変換する変数のログを取りました 各変数について、STLを使用してデータを分解しました Holt Winters指数平滑法、ARIMAおよびニューラルネットを使用して予測する予定です。トレーニングとテストとしてデータを分割しました(80、20)。MAE、MPE、MAPE、MASEの少ないモデルを選択する計画。 私はそれを正しくやっていますか? また、ARIMAまたはニューラルネットに渡す前に、データを平滑化する必要がありましたか?はいの場合、何を使用しますか?データは、季節性と傾向の両方を示しています。 編集: 時系列のプロットとデータの添付 Year <- c(2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2008, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2011, 2011, 2011, …

1
R:線形モデルの残差の正規性のテスト-使用する残差
線形モデルの残差に対してShapiro WilkのW検定とKolmogorov-Smirnov検定を実行して、正規性を確認したいと思います。私はこれにどの残差を使用すべきかと思っていました-生の残差、ピアソンの残差、スチューデント化された残差、または標準化された残差?Shapiro-WilkのW検定の場合、生およびピアソンの残差の結果は同一であるように見えますが、他の結果はそうではありません。 fit=lm(mpg ~ 1 + hp + wt, data=mtcars) res1=residuals(fit,type="response") res2=residuals(fit,type="pearson") res3=rstudent(fit) res4=rstandard(fit) shapiro.test(res1) # W = 0.9279, p-value = 0.03427 shapiro.test(res2) # W = 0.9279, p-value = 0.03427 shapiro.test(res3) # W = 0.9058, p-value = 0.008722 shapiro.test(res4) # W = 0.9205, p-value = 0.02143 KSについても同じ質問です。また、次のように残差を正規分布(pnorm)に対してテストする必要があるかどうか ks.test(res1, "pnorm") # …

1
観測値が独立していない場合の無効な推論
基本的な統計では、一般的な線形モデルでは、推論が有効であるためには、観測は独立している必要があることを学びました。クラスタリングが発生すると、それが考慮されない限り、独立性が無効な推論につながる可能性がなくなります。このようなクラスタリングを説明する1つの方法は、混合モデルを使用することです。シミュレートされているかどうかにかかわらず、これを明確に示すサンプルデータセットを見つけたいと思います。クラスター化されたデータを分析するために、UCLAサイトのサンプルデータセットの1つを使用してみました > require(foreign) > require(lme4) > dt <- read.dta("http://www.ats.ucla.edu/stat/stata/seminars/svy_stata_intro/srs.dta") > m1 <- lm(api00~growth+emer+yr_rnd, data=dt) > summary(m1) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 740.3981 11.5522 64.092 <2e-16 *** growth -0.1027 0.2112 -0.486 0.6271 emer -5.4449 0.5395 -10.092 <2e-16 *** yr_rnd -51.0757 19.9136 -2.565 0.0108 * > m2 <- lmer(api00~growth+emer+yr_rnd+(1|dnum), …

2
キャレットパッケージを使用すると、特定のしきい値の混同マトリックスを取得できますか?
trainバイナリ応答のロジスティック回帰モデル(を介して)を取得し、confusionMatrixin を介してロジスティック混同行列を取得しましたcaret。ロジスティックモデルの混同マトリックスが得られますが、それを取得するためにどのしきい値が使用されているのかはわかりません。confusionMatrixin を使用して特定のしきい値の混同マトリックスを取得するにはどうすればよいcaretですか?

1
分布がべき法則に従っているかどうかをテストする方法は?
何人のユーザーがいくつの質問を投稿したかに関するデータがあります。例えば、 [UserCount, QuestionCount] [2, 100] [9, 10] [3, 80] ... ... これは、2人のユーザーがそれぞれ100の質問を投稿し、9人のユーザーがそれぞれ10の質問を投稿したことを意味します。だから、どうすればUserCount, QuestionCount分布がべき法則に従っているますか? poweRlawパッケージを見つけました。ただし、評価を行うために1つのグループの数値のみを渡すことができます。(このパッケージで提供されている例は単語の頻度です。)では、このパッケージをどのように使用しますか?それとも何かおかしいのでしょうか?また、各ユーザーの質問数のデータもあり[100, 100, 10, 10, 10 ... ]ます。このデータをパッケージに渡すと、何が得られますか?

2
回帰の当てはめに直交多項式を使用しない理由はありますか?
一般に、高次変数で回帰を近似するときに直交多項式を使用しない方が良いのではないかと思っています。特に、Rの使用には疑問があります。 場合poly()とraw = FALSE同じ近似値を生成するpoly()とraw = TRUE、とpolyしてraw = FALSE解く多項式回帰に関連する問題のいくつかは、その後べきpoly()でraw = FALSE 常に多項式回帰を当てはめるために使用すること?どのような状況で使用しない方が良いでしょうpoly()か?

1
なぜRのlm()は私の教科書とは異なる係数推定値を返すのですか?
バックグラウンド モデルのフィッティングのコースの最初の例を理解しようとしています(これはばかげて単純に見えるかもしれません)。私は手作業で計算を行っており、例と一致していますが、Rでそれらを繰り返すと、モデル係数はオフになります。Rは標本分散()を使用しているのに対し、母分散()を使用している教科書に違いがあるのではないかと考えましたが、これらが計算でどこで使用されているかわかりません。たとえば、どこかで使用している場合 、メモに関するヘルプセクション:σ2σ2\sigma^2S2S2S^2lm()var()var() 分母n-1が使用され、iid観測の(共)分散の不偏推定量が得られます。 私は両方のコードを見てlm()おりlm.fit()、どちらも使用していませんが、そのデータをコンパイルされたCコード()に渡しますがvar()、アクセスできません。lm.fit()z <- .Call(C_Cdqrls, x, y, tol, FALSE) 質問 Rが異なる結果を出している理由を誰でも説明できますか?サンプルの使用と母集団の分散に違いがある場合でも、係数の推定値が異なるのはなぜですか? データ 学校の成績から靴のサイズを予測するために線を合わせます。 # model data mod.dat <- read.table( text = 'grade shoe 1 1 2 5 4 9' , header = T); # mean mod.mu <- mean(mod.dat$shoe); # variability mod.var <- sum((mod.dat$shoe - mod.mu)^2) # model coefficients …
13 r  regression  self-study  lm 

2
入力データの近傍情報の使用またはオフデータの検索(R)
最近傍が最適な予測子であるという仮定のデータセットがあります。視覚化された双方向グラデーションの完璧な例 欠落している値がほとんどない場合があると仮定すると、近傍と傾向に基づいて簡単に予測できます。 Rの対応するデータマトリックス(トレーニングのダミーの例): miss.mat <- matrix (c(5:11, 6:10, NA,12, 7:13, 8:14, 9:12, NA, 14:15, 10:16),ncol=7, byrow = TRUE) miss.mat [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 5 6 7 8 9 10 11 [2,] 6 7 8 9 10 NA 12 [3,] 7 8 9 10 11 12 13 …

1
モデルがスケーリングされたデータに適合したときに予測を行うために、新しい観測をスケーリングする方法は?
データ行列をスケーリングして線形回帰モデルで使用する概念を理解しています。たとえば、Rでは次を使用できます。 scaled.data <- scale(data, scale=TRUE) 私の唯一の質問は、出力値を予測する新しい観測値について、それらをどのように正しくスケーリングするかです。そうでしょうscaled.new <- (new - mean(data)) / std(data)か?


3
Lindsay Smithのチュートリアルを使用したRでのPCAの段階的な実装
私はRでLindsay I Smithによる優れたPCAチュートリアルを行っており、最終段階で動けなくなっています。以下のRスクリプトは、元のデータがPCA1軸に沿った直線プロットを生成する(この場合は単一の)主成分から再構築される段階(p.19)に連れて行きます(データが与えられた場合) 2つのディメンションのみがあり、2番目のディメンションは意図的に削除されています)。 d = data.frame(x=c(2.5,0.5,2.2,1.9,3.1,2.3,2.0,1.0,1.5,1.1), y=c(2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9)) # mean-adjusted values d$x_adj = d$x - mean(d$x) d$y_adj = d$y - mean(d$y) # calculate covariance matrix and eigenvectors/values (cm = cov(d[,1:2])) #### outputs ############# # x y # x 0.6165556 0.6154444 # y 0.6154444 0.7165556 ########################## (e = eigen(cm)) ##### outputs …
13 r  pca 

2
毎回異なる値を返すRのダネットのテスト
R 'multcomp'ライブラリ(http://cran.r-project.org/web/packages/multcomp/)を使用して、ダネットのテストを計算しています。以下のスクリプトを使用しています。 Group <- factor(c("A","A","B","B","B","C","C","C","D","D","D","E","E","F","F","F")) Value <- c(5,5.09901951359278,4.69041575982343,4.58257569495584,4.79583152331272,5,5.09901951359278,4.24264068711928,5.09901951359278,5.19615242270663,4.58257569495584,6.16441400296898,6.85565460040104,7.68114574786861,7.07106781186548,6.48074069840786) data <- data.frame(Group, Value) aov <- aov(Value ~ Group, data) summary(glht(aov, linfct=mcp(Group="Dunnett"))) これで、Rコンソールでこのスクリプトを複数回実行すると、毎回非常にわずかに異なる結果が得られます。次に例を示します。 Simultaneous Tests for General Linear Hypotheses Multiple Comparisons of Means: Dunnett Contrasts Fit: aov(formula = Value ~ Group, data = data) Linear Hypotheses: Estimate Std. Error t value Pr(>|t|) …

3
Rを使用して重回帰の各予測子によって説明される分散を計算します
モデル全体が重要であり、分散の約13%を説明する重回帰を実行しました。ただし、重要な各予測子によって説明される分散の量を見つける必要があります。Rを使用してこれを行うにはどうすればよいですか? サンプルデータとコードは次のとおりです。 D = data.frame( dv = c( 0.75, 1.00, 1.00, 0.75, 0.50, 0.75, 1.00, 1.00, 0.75, 0.50 ), iv1 = c( 0.75, 1.00, 1.00, 0.75, 0.75, 1.00, 0.50, 0.50, 0.75, 0.25 ), iv2 = c( 0.882, 0.867, 0.900, 0.333, 0.875, 0.500, 0.882, 0.875, 0.778, 0.867 ), iv3 = c( …
13 r  regression  variance 

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