Questions tagged «r»

对于(a)涉及“ R”作为问题的关键部分或预期答案的任何* on-topic *问题,请使用此标签;&(b)关于如何使用“ R”并非“正当”。

1
为什么glmer无法达到最大可能性(已通过应用进一步的通用优化方法进行了验证)?
数值推导MLE第GLMM是困难的,在实践中,我知道,我们不应该用蛮力优化(例如,使用optim一个简单的方法)。但是出于我自己的教育目的,我想尝试一下以确保正确理解该模型(请参见下面的代码)。我发现我总是从中得到不一致的结果glmer()。 特别是,即使我使用MLE glmer作为初始值,根据我写的似然函数(negloglik),它们也不是MLE(opt1$value小于opt2)。我认为两个潜在的原因是: negloglik 写得不好,以至于其中有太多的数字误差,并且 型号规格错误。对于模型规范,预期模型为: 其中 ˚F是二项式PMF和克是一个正常的PDF文件。我试图估计 a, b和 s。我特别想知道模型规格是否错误,正确的规格是什么。L=∏i=1n(∫∞−∞f(yi|N,a,b,ri)g(ri|s)dri)L=∏i=1n(∫−∞∞f(yi|N,a,b,ri)g(ri|s)dri)\begin{equation} L=\prod_{i=1}^{n} \left(\int_{-\infty}^{\infty}f(y_i|N,a,b,r_{i})g(r_{i}|s)dr_{i}\right) \end{equation}fffgggaaabbbsss p <- function(x,a,b) exp(a+b*x)/(1+exp(a+b*x)) a <- -4 # fixed effect (intercept) b <- 1 # fixed effect (slope) s <- 1.5 # random effect (intercept) N <- 8 x <- rep(2:6, each=20) n <- length(x) id …

2
如何在R中找到一个适合半正弦模型的模型?
我想假设波罗的海的海面温度年复一年,然后用函数/线性模型对其进行描述。我的想法是只将年输入为十进制数字(或num_months / 12),然后得出当时的温度。将其扔到R中的lm()函数中,它无法识别正弦数据,因此只能产生一条直线。因此,我将sin()函数放在I()括号内,并尝试了一些值以手动适合该函数,这接近我想要的值。但是海洋在夏天变暖得更快,而在秋天变慢了……所以第一年的模型是错误的,几年后变得更正确,然后在将来我猜想它会变得更多再犯错。 如何获得R来为我估算模型,所以我不必自己猜测数字?这里的关键是我希望它年复一年地产生相同的值,而不仅仅是一年正确。如果我对数学了解更多,也许我可以将其估计为类似于Poisson或Gaussian之类的东西,而不是sin(),但我也不知道该怎么做。任何帮助您接近一个好的答案将不胜感激。 这是我使用的数据,以及到目前为止显示结果的代码: # SST from Bradtke et al 2010 ToY <- c(1/12,2/12,3/12,4/12,5/12,6/12,7/12,8/12,9/12,10/12,11/12,12/12,13/12,14/12,15/12,16/12,17/12,18/12,19/12,20/12,21/12,22/12,23/12,24/12,25/12,26/12,27/12,28/12,29/12,30/12,31/12,32/12,33/12,34/12,35/12,36/12,37/12,38/12,39/12,40/12,41/12,42/12,43/12,44/12,45/12,46/12,47/12,48/12) Degrees <- c(3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5) SST <- data.frame(ToY, Degrees) SSTlm <- lm(SST$Degrees ~ I(sin(pi*2.07*SST$ToY))) summary(SSTlm) plot(SST,xlim=c(0,4),ylim=c(0,17)) par(new=T) plot(data.frame(ToY=SST$ToY,Degrees=8.4418-6.9431*sin(2.07*pi*SST$ToY)),type="l",xlim=c(0,4),ylim=c(0,17))
37 r  regression  time-series  lm 

1
为什么我的p值在逻辑回归输出,卡方检验和OR的置信区间之间有所不同?
我建立了Logistic回归,其中在接受治疗后(Curevs. No Cure)治愈了结果变量。本研究中所有患者均接受治疗。我有兴趣查看是否患有糖尿病与该结局有关。 在R中,我的逻辑回归输出如下所示: Call: glm(formula = Cure ~ Diabetes, family = binomial(link = "logit"), data = All_patients) ... Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.2735 0.1306 9.749 <2e-16 *** Diabetes -0.5597 0.2813 -1.990 0.0466 * ... Null deviance: 456.55 on 415 degrees of freedom Residual deviance: 452.75 …

3
PCA或FA中的分数或负荷符号是否有意义?我可以反转标志吗?
我使用两个不同的函数(prcomp和)对R进行了主成分分析(PCA),princomp并观察到PCA分数的符号不同。怎么会这样? 考虑一下: set.seed(999) prcomp(data.frame(1:10,rnorm(10)))$x PC1 PC2 [1,] -4.508620 -0.2567655 [2,] -3.373772 -1.1369417 [3,] -2.679669 1.0903445 [4,] -1.615837 0.7108631 [5,] -0.548879 0.3093389 [6,] 0.481756 0.1639112 [7,] 1.656178 -0.9952875 [8,] 2.560345 -0.2490548 [9,] 3.508442 0.1874520 [10,] 4.520055 0.1761397 set.seed(999) princomp(data.frame(1:10,rnorm(10)))$scores Comp.1 Comp.2 [1,] 4.508620 0.2567655 [2,] 3.373772 1.1369417 [3,] 2.679669 -1.0903445 [4,] …
37 r  pca  factor-analysis 

3
R中的随机数-Set.seed(N)[重复]
这个问题已经在这里有了答案: 随机数生成器中的种子究竟是什么? 3个答案 我意识到有人set.seed()在R中使用伪随机数生成。我也意识到使用相同的数字,例如set.seed(123)可以确保您可以重现结果。 但是我不明白的是价值观本身意味着什么。我正在玩几个功能,有些使用set.seed(1)or set.seed(300)或set.seed(12345)。这个数字是什么意思(如果有的话),以及我什么时候应该使用其他数字。 例如,在我正在研究的书中,它们set.seed(12345)在为决策树创建训练集时使用。然后在另一章中,他们将set.seed(300)用于创建随机森林。 只是不知道电话号码。

2
了解负二项分布内的参数
我试图适应我的数据转换成各种模型,并计算出了fitdistr从库函数MASS的R给了我Negative Binomial作为最合适的。现在,在Wiki页面上,定义为: NegBin(r,p)分布描述了k + r Bernoulli(p)试验中k次失败和r次成功的概率,最后一次试验成功。 使用R执行模型拟合给我两个参数mean和dispersion parameter。我不理解如何解释这些内容,因为我无法在Wiki页面上看到这些参数。我只能看到以下公式: k观察的数目在哪里r=0...n?现在如何将它们与给定的参数相关联R?帮助文件也没有提供太多信息。 另外,只说几句关于我的实验的信息:在进行的一项社交实验中,我试图计算每个用户在10天内接触的人数。该实验的人口规模为100。 现在,如果模型适合负二项式,我可以盲目地说它遵循该分布,但我真的想了解其背后的直观含义。说我的测试对象联系的人数遵循负二项式分布是什么意思?有人可以帮忙澄清一下吗?

5
交叉验证时间序列分析
我一直在使用R中的插入符号包来建立用于分类和回归的预测模型。Caret提供了一个统一的界面,可以通过交叉验证或引导绑定来调整模型超参数。例如,如果您要建立一个简单的“最近邻居”模型进行分类,则应使用多少个邻居?2?10个?100?Caret通过重新采样数据,尝试不同的参数,然后对结果进行汇总以确定哪个可产生最佳的预测准确性,来帮助您回答这个问题。 我喜欢这种方法,因为它为选择模型超参数提供了一种可靠的方法,并且一旦您选择了最终的超参数,就可以使用分类模型的准确性对模型的“好”程度进行交叉验证。和RMSE用于回归模型。 我现在有一些时间序列数据,可能要使用随机森林来构建回归模型。考虑到数据的性质,有什么好的方法可以评估模型的预测准确性?如果随机森林不能真正应用于时间序列数据,那么为时间序列分析构建准确的集成模型的最佳方法是什么?


2
通过效果包对lmer对象的置信区间的可信度如何?
Effects包提供了一种非常快速和方便的方式来绘制通过lme4包获得的线性混合效应模型结果。该effect函数可以非常快速地计算置信区间(CI),但是这些置信区间的可信度如何? 例如: library(lme4) library(effects) library(ggplot) data(Pastes) fm1 <- lmer(strength ~ batch + (1 | cask), Pastes) effs <- as.data.frame(effect(c("batch"), fm1)) ggplot(effs, aes(x = batch, y = fit, ymin = lower, ymax = upper)) + geom_rect(xmax = Inf, xmin = -Inf, ymin = effs[effs$batch == "A", "lower"], ymax = effs[effs$batch == …

2
我怎么知道哪种交叉验证最好?
我试图找出哪种交叉验证方法最适合我的情况。 以下数据只是解决问题的一个示例(R中),但我的真实X数据(xmat)相互关联,并且与y变量(ymat)的关联程度不同。我提供了R代码,但我的问题不是关于R而是关于方法。Xmat包含X个变量V1至V100,而ymat包含单个y变量。 set.seed(1233) xmat <- matrix(sample(-1:1, 20000, replace = TRUE), ncol = 100) colnames(xmat) <- paste("V", 1:100, sep ="") rownames(xmat) <- paste("S", 1:200, sep ="") # the real y data are correlated with xmat ymat <- matrix(rnorm(200, 70,20), ncol = 1) rownames(ymat) <- paste("S", 1:200, sep="") 我想y根据中的所有变量建立一个预测模型xmat。因此它将是一个线性回归模型y ~ V1 + …

4
如何从多项式模型拟合中解释系数?
我正在尝试为我拥有的某些数据创建二阶多项式。假设我通过以下方式绘制了这种拟合ggplot(): ggplot(data, aes(foo, bar)) + geom_point() + geom_smooth(method="lm", formula=y~poly(x, 2)) 我得到: 因此,二阶拟合效果很好。我用R计算: summary(lm(data$bar ~ poly(data$foo, 2))) 我得到: lm(formula = data$bar ~ poly(data$foo, 2)) # ... # Coefficients: # Estimate Std. Error t value Pr(>|t|) # (Intercept) 3.268162 0.008282 394.623 <2e-16 *** # poly(data$foo, 2)1 -0.122391 0.096225 -1.272 0.206 # poly(data$foo, …

1
异方差数据的单向方差分析的替代方法
我有3个藻类生物量(,,)的数据,它们包含不相等的样本大小(,,),我想比较一下这两个组是否来自同一种群。AAABBBCCCnA=15nA=15n_A=15nB=13nB=13n_B=13nC=12nC=12n_C=12 单向ANOVA绝对是必经之路,但是在对我的数据进行正态性测试时,异质性似乎是主要问题。我的原始数据未经任何转换就产生了方差比(),该比率远高于临界值(F _ {\ rm crit} = 4.16),因此我无法执行单向方差分析。Fmax=19.1Fmax=19.1F_{\max} = 19.1Fcrit=4.16Fcrit=4.16F_{\rm crit} = 4.16 我还尝试了转换以标准化我的数据。即使经过各种变换(对数,平方根,平方)的试验,使用\ log_ {10}变换进行变换后产生的最低F _ {\ max}也为7.16,与F _ {\ rm crit}相比仍然更高。FmaxFmaxF_{\max}log10log10\log_{10}7.167.167.16FcritFcritF_{\rm crit} 这里有人可以建议我从这里出发吗?我想不出其他通过数据标准化的转换方法。有单向方差分析的替代方法吗? PS:我的原始数据如下: A: 0.178 0.195 0.225 0.294 0.315 0.341 0.36 0.363 0.371 0.398 0.407 0.409 0.432 0.494 0.719 B: 0.11 0.111 0.204 0.416 0.417 0.441 0.492 …

4
R?中非负变量密度图的好方法
plot(density(rexp(100)) 显然,左侧所有的密度都表示偏差。 我希望总结一些非统计人员的数据,并且我想避免有关为何非负数据的密度在零左边的问题。这些图用于随机检查;我想按治疗组和对照组显示变量的分布。分布通常是指数级的。由于各种原因,直方图比较棘手。 快速的Google搜索使统计人员可以在非负内核上进行工作,例如: this。 但是,它有没有在R中实现?在已实现的方法中,对于描述性统计,它们中的任何一种是否“最佳”? 编辑:即使from命令可以解决我当前的问题,也很高兴知道是否有人基于非负密度估计的文献实现了内核

3
如何使用> 50K变量估算套索或岭回归中的收缩参数?
我想对超过50,000个变量的模型使用套索或岭回归。我想使用R中的软件包来执行此操作。如何估算收缩率参数()?λλ\lambda 编辑: 这是我要提出的要点: set.seed (123) Y <- runif (1000) Xv <- sample(c(1,0), size= 1000*1000, replace = T) X <- matrix(Xv, nrow = 1000, ncol = 1000) mydf <- data.frame(Y, X) require(MASS) lm.ridge(Y ~ ., mydf) plot(lm.ridge(Y ~ ., mydf, lambda = seq(0,0.1,0.001))) 我的问题是:我怎么知道哪个最适合我的模型?λλ\lambda


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.