Questions tagged «r»

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

3
逻辑回归:最大化正阳性-误阳性
我有一个逻辑回归模型(通过弹性网络正则化通过R中的glmnet拟合),并且我想最大化真实肯定和错误肯定之间的差异。为此,请注意以下步骤: 拟合标准逻辑回归模型 使用预测阈值为0.5,确定所有积极预测 为肯定预测的观测值分配权重1,为所有其他权重分配权重0 拟合加权逻辑回归模型 这种方法有什么缺点?解决此问题的正确方法是什么? 希望最大程度地提高正负数之间的差异的原因是由于我的应用程序的设计。作为课堂项目的一部分,我正在在线市场上建立一个自主参与者-如果我的模型预测它可以购买某些东西并以后以更高的价格出售,它就会出价。我想坚持逻辑回归并根据固定成本和单价增量(我在每笔交易中获得或损失相同的金额)输出二进制结果(成功,失败)。误报会伤害我,因为这意味着我买了东西,无法以更高的价格出售。但是,错误的否定并不会伤害我(仅就机会成本而言),因为这仅意味着如果我不购买,但如果我有购买,我就可以赚钱。同样, 我同意0.5的临界值是完全任意的,并且当我在预测阈值上优化了步骤1中的模型时,该模型在真/假阳性之间产生了最大差异,结果接近0.4。我认为这是由于数据的偏斜性质-负数与正数之比约为1:3。 现在,我正在执行以下步骤: 将数据拆分为训练/测试 在训练中拟合模型,在测试集中进行预测并计算真假阳性之间的差异 完全拟合模型,在测试集中进行预测并计算真假阳性之间的差异 尽管训练集是全套的子集,但在步骤3中,正确/错误肯定之间的差异小于在步骤2中。由于我不在乎#3中的模型是否具有更多的真实负数和更少的虚假负数,因此我可以做些什么而无需更改似然函数本身?

4
足球比分建模
在Dixon,Coles(1997)中,他们对(4.3)中的两个改进的独立Poisson模型使用了最大似然估计来对足球得分进行建模。 我试图使用R来“重现” alpha和beta以及家庭效果参数(第274页,表4),而无需使用任何程序包(也可以使用通常的独立Poisson模型)。我曾尝试使用bivpois包,但不确定如何修改其参数。 如果有人可以通过R代码帮助我为数据建模,我将不胜感激-2012/13赛季英超联赛中来自主队和客队的得分。

2
模拟数据以适应中介模型
我有兴趣找到一种过程来模拟与指定的中介模型一致的数据。根据测试调解模型的一般线性结构方程模型框架,该模型首先由Barron和Kenny(1986)概述,并在Judd,Yzerbyt和Muller(2013)等其他地方进行了介绍,其结果模型为调解模型YYY,介体和预测变量,并由以下三个回归方程式控制: 通过对 的间接作用或中介作用可以定义为或等效地定义为。在旧的调解测试框架下,通过测试方程式1中的,建立了调解medmed\newcommand{\med}{\rm med} \medXXXYmedY=b11+b12X+e1=b21+b22X+e2=b31+b32X+b32med+e3(1)(2)(3)(1)Y=b11+b12X+e1(2)med=b21+b22X+e2(3)Y=b31+b32X+b32med+e3\begin{align} Y &= b_{11} + b_{12}X + e_1 \tag{1} \\ \med &= b_{21} + b_{22}X + e_2 \tag{2} \\ Y &= b_{31} + b_{32}X + b_{32} \med + e_3 \tag{3} \end{align}XXXYYYmedmed\medb22b32b22b32b_{22}b_{32}b12−b32b12−b32b_{12}-b_{32}b12b12b_{12}b22b22b_{22}等式2中的。b32b32b_{32} 到目前为止,我已经尝试使用in 来模拟与各种回归系数的值一致的和值,例如以下代码:medmed\medYYYrnormR x <- rep(c(-.5, .5), 50) med <- 4 + .7 * x + …


1
使用主成分分析与对应分析
我正在分析有关潮间带群落的数据集。数据是四方类动物(海藻,藤壶,贻贝等)的覆盖百分比。我习惯于根据物种计数来考虑对应分析(CA),而将主成分分析(PCA)视为对线性环境(而非物种)趋势更有用的方法。我真的没有运气来确定PCA或CA是否更适合百分比覆盖率(找不到任何论文),而且我什至不确定如何将封顶为100%的内容分发出去? 我熟悉粗略的指导原则,即如果第一个去趋势对应分析(DCA)轴的长度大于2,则可以放心地假定应该使用CA。DCA轴1的长度为2.17,这对我没有帮助。

2
计算预测间隔
我在这里有以下数据。我正在尝试计算烃百分比为1.0时平均纯度的95%置信区间。在R中,输入以下内容。 > predict(purity.lm, newdata=list(hydro=1.0), interval="confidence", level=.95) fit lwr upr 1 89.66431 87.51017 91.81845 但是,如何自己得出这个结果?我试图使用以下方程式。 snew=s2(1+1N+(xnew−x¯)2∑(xi−x¯)2)−−−−−−−−−−−−−−−−−−−−−−√snew=s2(1+1N+(xnew−x¯)2∑(xi−x¯)2)s_{new}=\sqrt{s^2\left(1+\frac{1}{N}+\frac{(x_{new}-\bar x)^2}{\sum(x_i-\bar x)^2}\right)} 我在R中输入以下内容 > SSE_line = sum((purity - (77.863 + 11.801*hydro))^2) > MSE = SSE_line/18 > t.quantiles <- qt(c(.025, .975), 18) > prediction = B0 + B1*1 > SE_predict = sqrt(MSE)*sqrt(1+1/20+(mean(hydro)-1)^2/sum((hydro - mean(hydro))^2)) > prediction …

3
统计检验以查看关系是线性还是非线性
我有一个示例数据集,如下所示: Volume <- seq(1,20,0.1) var1 <- 100 x2 <- 1000000 x3 <- 30 x4 = sqrt(x2/pi) H = x3 - Volume r = (x4*H)/(H + Volume) Power = (var1*x2)/(100*(pi*Volume/3)*(x4*x4 + x4*r + r*r)) Power <- jitter(Power, factor = 1, amount = 0.1) plot(Volume,Power) 从图中可以看出,在“体积”和“功率”的特定范围之间,关系是线性的,然后,当“体积”变得相对小时,关系变为非线性。有统计检验可以说明这一点吗? 关于对《任择议定书》的答复中显示的一些建议: 此处显示的示例只是一个示例,尽管噪声较大,但我拥有的数据集看起来与此处看到的关系相似。到目前为止,我进行的分析表明,当我分析特定液体的体积时,当体积较小时,信号的功率会急剧增加。因此,可以说我只有一个音量在15到20之间的环境,几乎就像线性关系。但是,通过增加点的范围(即具有较小的体积),我们看到该关系完全不是线性的。我现在正在寻找有关如何统计显示这一点的统计建议。希望这是有道理的。

1
R / caret:训练和测试集与交叉验证?
这可能是一个愚蠢的问题,但是当使用插入符号生成模型并使用诸如LOOCV或(甚至更重要)时LGOCV,如果这实际上是交叉验证步骤的话,将数据分为训练集和测试集有什么好处?反正吗? 我阅读了一些相关的问题,他们建议一些交叉验证方法(例如,在插入符号处描述的方法)是出于特征选择的目的。但就我而言,我使用的是randomForest(method = "rf")和kernlab(method = svmRadial),它们在试图清除预测变量的组中未列出。 所以,我的问题是,如果我使用类似的方法cross_val <- trainControl(method = "LGOCV", p = 0.8),那与对80%的数据进行训练,对其余20%的数据进行测试所得模型并反复进行以了解模型是否有效? 如果是这样,是否有必要将我的数据分为训练/测试集? PS:我在根据经验生成的DOE原型进行模型处理时会提出一些要求(想想一些硬货,我们会调整输入,然后使用测试方法来测量该原型的各种属性)。 因此,我没有庞大的数据集,可以使用许多重叠的预测变量级别进行建模-我们经常在每个DOE兴趣点进行一次试验,因为在这种情况下,数据生成非常昂贵。因此,我想使用所有可能的数据建立一个准确的模型,但我想在这里检查一下,我没有遗漏明显的东西,也没有通过拆分来制作一个不好的模型。 编辑:针对@topepo的问题,我正在根据调整配方的化学输入来对化合物的物理测量属性进行建模。我无法讨论我的实际应用,但是我将基于配制内部乳胶​​漆组成一个示例。我正在运行设计的实验,我们将4-5种化学物质混合在一起,也许与%的固体混合,并花费一定的时间加热聚合物溶液以调节聚合度。 然后,我们可以测量流变性,分子量,油漆涂层的硬度,耐水性等。 我们有几个变量的不错的复制品,但是从每个DOE级别完全相同的意义上讲,真正复制品很少。总数据集为〜80个观察值,也许4-5是精确重复。我们已经进行了15种不同的测试,也许对每个观察都进行了5-6次测试。对于25-50%的数据,存在一些响应。 从这里开始,我们想对输出的属性上的7个预测变量的效果进行建模,然后进行优化以定位最有可能提供所需属性的新设计空间。 (因此,请在这里提出我的问题。一旦我拥有训练有素的模型,最好进行“反向”操作并输入所需的响应,以在可能的输入水平上获得最佳的猜测,然后再尝试)。


2
如何在荟萃分析中最好地处理子分数?
我正在使用metafor包对R中的效果大小d进行荟萃分析。d代表患者与健康者之间的记忆评分差异。但是,一些研究仅报告了感兴趣的度量d的子分数(例如,几个不同的内存分数或来自三个单独的内存测试块的分数)。请查看以下带有d的虚拟数据集,它们代表研究的效应量及其标准偏差sd: d <- round(rnorm(5,5,1),2) sd <- round(rnorm(5,1,0.1),2) study <- c(1,2,3,3,3) subscore <- c(1,1,1,2,3) my_data <- as.data.frame(cbind(study, subscore, d, sd)) library(metafor) m1 <- rma(d,sd, data=my_data) summary(m1) 我想征询您的意见,以最佳方式处理这些子评分-例如: 从每个报告多个得分的研究中选择一个子得分。 包括所有子分数(这将违反rfx模型独立性的假设,因为一项研究的子分数来自同一样本) 对于每个报告评分的研究:计算平均得分和平均标准差,并将此“合并效应量”包括在rfx荟萃分析中。 包括所有子评分并添加一个虚拟变量,以指示从哪个研究中得出某个分数。

1
将p值的Monte Carlo模拟应用于卡方检验的规则
我想了解chisq.test()R函数中蒙特卡罗模拟的用法。 我有一个具有128个级别/类的定性变量。我的样本数量为26(我无法对更多的“个人”进行抽样)。所以很明显,我将在某些级别上拥有0个“个人”。但是事实是,在127种可能的类别中,我只代表了非常少的类别。我听说要应用卡方检验,每个级别上至少应有5个人(我不完全了解其原因),我认为我必须使用该simulate.p.value选项来进行蒙特卡洛模拟来估计分布并计算一个p值 没有蒙特卡罗模拟,R给我p值< 1e-16。通过蒙特卡洛模拟,它给了我p值4e-5。 我尝试使用26个1和101个零的向量来计算p值,并且通过蒙特卡洛模拟,得到的p值为1。 是否可以声明,即使我的样本量与可能分类的数量相比很小,观察到的分布也是如此,使得在实际总体中所有可能分类以相同的概率(1/127)存在的可能性很小?

1
当某些输入缺少值(NA)时使用randomForest(R)进行预测
我有一个很好的randomForest分类模型,可以在预测新案例类的应用程序中使用。新案例不可避免地缺少价值。预测不适用于NA。那我该怎么办呢? data(iris) # create first the new case with missing values na.row<-45 na.col<-c(3,5) case.na<-iris[na.row,] case.na[,na.col]<-NA iris.rf <- randomForest(Species ~ ., data=iris[-na.row,]) # print(iris.rf) myrf.pred <- predict(iris.rf, case.na[-5], type="response") myrf.pred [1] <NA> 我试过了missForest。我将原始数据和新案例结合在一起missForest,与进行了比较,并在新案例中获得了NA的估算值。虽然计算量太大。 data.imp <- missForest(data.with.na) 但是必须有一种方法可以使用rf-model来预测缺少值的新情况,对吗?

1
傅里叶/三角插值
背景 在Epstein(1991)的一篇论文中:在从月均值获取每日气候值时,给出了用于计算周期值和偶数值的傅里叶插值的公式和算法。 在本文中,目标是通过插值从每月平均值中获取每日值。 简而言之,假设可以用谐波分量之和表示未知的每日值: 在论文中,(时间)以月表示。ÿ(t )=一个0+∑Ĵ[一个Ĵcos(2 πj t / 12 )+bĴ罪(2 πĴ t / 12 )]ÿ(Ť)=一个0+∑Ĵ[一个Ĵcos⁡(2πĴŤ/12)+bĴ罪⁡(2πĴŤ/12)] y(t) = a_{0} + \sum_{j}\left[a_{j}\,\cos(2\pi jt/12)+b_{j}\,\sin(2\pi jt/12)\right] ŤŤt 经过一些推导,显示出这些项可以通过以下方式计算: 其中表示每月平均值,表示月份。一个0一个ĴbĴ一个6b6=∑ŤÿŤ/ 12= [ (πj / 12 )/罪(πj / 12 )] ×∑Ť[ÿŤcos(2 πĴ Ť/12)/6] j=1,…,5=[(πj/12)/sin(πj/12)]×∑T[YTsin(2πjT/12)/6] j=1,…,5=[(πj/12)/sin(πj/12)]×∑T[YTcos(πT)/12]=0a0=∑TYT/12aj=[(πj/12)/sin⁡(πj/12)]×∑T[YTcos⁡(2πjT/12)/6] j=1,…,5bj=[(πj/12)/sin⁡(πj/12)]×∑T[YTsin⁡(2πjT/12)/6] j=1,…,5a6=[(πj/12)/sin⁡(πj/12)]×∑T[YTcos⁡(πT)/12]b6=0 \begin{align} a_{0} &= \sum_{T}Y_{T}/12 \\ a_{j} &= \left[ …

2
具有已知断点的分段线性回归中斜率的标准误差
情况 我有一个具有一个因变量和一个独立变量的数据集。我想用出现在已知/固定断点拟合连续分段线性回归。已知breakpoins没有不确定性,所以我不想估计它们。然后,我拟合以下形式的回归(OLS): 这是ÿÿyXXxķķk(一个1个,一个2,… ,一个ķ)(一个1个,一个2,…,一个ķ)(a_{1}, a_{2}, \ldots, a_{k})ÿ一世=β0+β1个X一世+β2最高(X一世-一个1个,0 )+β3最高(X一世-一个2,0 )+ … +βk + 1最高(X一世-一个ķ,0)+ϵ一世ÿ一世=β0+β1个X一世+β2最高⁡(X一世-一个1个,0)+β3最高⁡(X一世-一个2,0)+…+βķ+1个最高⁡(X一世-一个ķ,0)+ϵ一世 y_{i} = \beta_{0} + \beta_{1}x_{i} + \beta_{2}\operatorname{max}(x_{i}-a_{1},0) + \beta_{3}\operatorname{max}(x_{i}-a_{2},0) +\ldots+ \beta_{k+1}\operatorname{max}(x_{i}-a_{k},0) +\epsilon_{i} R set.seed(123) x <- c(1:10, 13:22) y <- numeric(20) y[1:10] <- 20:11 + rnorm(10, 0, 1.5) y[11:20] <- seq(11, 15, len=10) + rnorm(10, 0, 2) …

2
帮助我拟合此非线性多元回归方法,该回归方法已经克服了之前的所有努力
编辑:自从发布此帖子以来,我在这里还跟了一个额外的帖子。 以下是本文的摘要:我正在研究一个模型,并尝试了线性回归,Box Cox变换和GAM,但并没有取得太大进展 R目前,我正在使用模型来预测大联盟(MLB)级别的小联盟棒球运动员的成功。因变量,进攻职业生涯胜过替补球员(oWAR),是美国职业棒球大联盟(MLB)级别成功的代名词,用球员在其职业生涯中参与的每场比赛的进攻贡献总和来衡量(详细信息此处-http ://www.fangraphs.com/library/misc/war/)。自变量是z得分的小联盟进攻变量,用于统计数据,被认为是在大联盟级别取得成功的重要预测指标,包括年龄(年轻球员的成功率更高,他们的前景更好),淘汰率[SOPct ],步行率[BBrate]和调整后的产量(进攻性产品的全球量度)。另外,由于次要联赛有多个级别,因此我为次要联赛的比赛水平提供了虚拟变量(双A,高A,低A,新秀和短赛季,三A [主要联赛之前的最高水平]作为参考变量])。注意:我已经将WAR重新缩放为一个从0到1的变量。 变量散点图如下: 作为参考,因变量oWAR具有以下图表: 我从线性回归开始,oWAR = B1zAge + B2zSOPct + B3zBBPct + B4zAdjProd + B5DoubleA + B6HighA + B7LowA + B8Rookie + B9ShortSeason获得了以下诊断图: 存在明显的问题,即缺乏残差的无偏性和缺乏随机变化。此外,残差不正常。回归结果如下所示: 遵循上一个线程中的建议,我尝试了Box-Cox转换,但没有成功。接下来,我尝试了带有日志链接的GAM,并收到了以下图表: 原版的 新的诊断图 样条曲线似乎有助于拟合数据,但诊断图仍显示拟合差。编辑:我以为我原来是在看残差与拟合值,但我不正确。最初显示的图被标记为“原始”(上方),我后来上传的图被标记为“新诊断图”(也在上方) 的 [R2[R2R^2 模型的数量增加了 但是该命令产生的结果gam.check(myregression, k.rep = 1000)并不令人满意。 谁能建议该模型的下一步?我很高兴提供您认为可能对理解我到目前为止所取得的进步有用的任何其他信息。感谢您的任何帮助,您可以提供。

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.