Questions tagged «predictive-models»

预测模型是统计模型,其主要目的是为了最佳地预测系统的其他观察结果,而不是其目的是测试特定假设或以机械方式解释现象的模型。因此,预测模型不太强调可解释性,而更强调绩效。

2
在贝叶斯推断中,为什么某些项从后验预测中删除?
在Kevin Murphy 对高斯分布的共轭贝叶斯分析中,他写道,后验预测分布是 p (x ∣ D )= ∫p (X | θ )p (θ | d )dθp(x∣D)=∫p(x∣θ)p(θ∣D)dθ p(x \mid D) = \int p(x \mid \theta) p(\theta \mid D) d \theta 其中是适合模型的数据,而是看不见的数据。我不明白的是为什么对的依赖性在积分的第一项中消失了。使用基本的概率规则,我期望:dDDXxxdDD p (a )p (a ∣ b )p (x ∣ D )= ∫p (a ∣ c )p (c )dC= ∫p …

1
LASSO回归系数的解释
我目前正在为具有约300个变量和800个观察值的数据集构建二进制结果的预测模型。我已经在该站点上阅读了很多有关逐步回归相关问题以及为什么不使用它的知识。 我一直在阅读LASSO回归及其功能选择功能,并已成功使用“插入符号”包和“ glmnet”实现了它。 我能够提取与优化模型的系数lambda,并alpha从“插入符号”; 但是,我不熟悉如何解释系数。 LASSO系数的解释方法是否与逻辑回归相同? 在逻辑回归中使用从LASSO中选择的特征是否合适? 编辑 系数的解释(如LASSO回归的指数系数一样)是系数保持1个单位变化时的对数赔率,同时保持所有其他系数不变。 https://stats.idre.ucla.edu/other/mult-pkg/faq/general/faq-how-do-i-interpreting-odds-ratios-in-logistic-regression/

4
在R中为nls模型获取正确的起始值
我试图将一个简单的幂定律模型拟合到如下数据集: mydf: rev weeks 17906.4 1 5303.72 2 2700.58 3 1696.77 4 947.53 5 362.03 6 目标是使电源线通过并使用它来预测rev未来几周的赞誉。大量的研究使我找到了该nls功能,我按如下方式实现了该功能。 newMod <- nls(rev ~ a*weeks^b, data=modeldf, start = list(a=1,b=1)) predict(newMod, newdata = data.frame(weeks=c(1,2,3,4,5,6,7,8,9,10))) 虽然这适用于lm模型,但会出现singular gradient错误,我理解这与我的初始值a和有关b。我尝试了不同的值,甚至可以在Excel中进行绘制,传递一个孤行,获取一个方程式,然后使用该方程式中的值,但仍然遇到错误。我看着一堆像答案的这一个,并试图在第二个答案(看不惯第一),但都没有结果。 我真的可以在这里找到有关如何找到正确的起始值的帮助。或者,我可以使用什么其他功能代替nls。 如果您想mydf轻松地重新创建: mydf <- data.frame(rev=c(17906.4, 5303.72, 2700.58 ,1696.77 ,947.53 ,362.03), weeks=c(1,2,3,4,5,6))

1
Netflix为什么会从其五星级评级系统转换为喜欢/不喜欢的系统?
Netflix过去常常根据用户提交的其他电影/节目的评分来提供建议。该评级系统获得了五颗星。 现在,Netflix允许用户喜欢/不喜欢(竖起/竖起)电影/节目。他们声称对电影进行评分更容易。 从统计角度上讲,这种2向分类是否比5向分类系统更具预测性?它不会捕获更少的变化吗?

1
当岭和套索分别表现良好但产生不同系数时如何解释结果
我正在使用Lasso和Ridge来运行回归模型(以预测介于0-5之间的离散结果变量)。在运行模型之前,我使用的SelectKBest方法scikit-learn将功能集从250减少到25。如果没有初始特征选择,套索和里奇均会降低准确性得分(这可能是由于样本量小600)所致。另外,请注意,某些功能是相关的。 运行模型后,我观察到Lasso和Ridge的预测精度几乎相同。但是,当我按系数的绝对值对它们进行排序后检查前10个特征时,我发现最多有%50重叠。 也就是说,鉴于每种方法分配的特征的重要性不同,基于所选模型,我可能会有完全不同的解释。 通常,这些功能代表网站中用户行为的某些方面。因此,我想通过突出具有较强预测能力而不是较弱特征(用户行为)的特征(用户行为)来解释发现。但是,我目前不知道如何前进。我应该如何解释模型?例如,应该结合两者并突出显示重叠部分,还是我应该选择Lasso,因为它提供了更多的可解释性?

1
我什么时候停止寻找模特?
我正在寻找能源价格与天气之间的模型。我有在欧洲国家之间购买的MWatt的价格,以及很多天气值(Grib文件)。每5小时(2011-2015)的小时数。 价格/天 这是每天的一年。我有这个5年的每小时。 天气示例 3D散点图,用开尔文表示,一个小时。我每小时每个数据有1000个值,还有klevin,风,地势等200个数据。 我正在尝试预测兆瓦每小时的平均价格。 我的天气数据非常密集,每小时超过10000个值,因此相关性很高。这是一个简短的大数据问题。 我尝试了套索,脊线和SVR方法,将MWatt的平均价格作为结果,而将天气数据作为收入。我将70%作为训练数据,将30%作为测试。如果我的测试数据是非预测性的(在我的训练数据中的某处),则我的预测很好(R²= 0.89)。但是我想对我的数据进行预测。 因此,如果测试数据按时间顺序排在我的训练数据之后,则它什么也不能预测(R²= 0.05)。我认为这很正常,因为它是时间序列。并且存在很多自相关。 我以为我必须使用ARIMA这样的时间序列模型。我计算了方法的顺序(序列是固定的)并进行了测试。但这没用。我的意思是预测的r²为0.05。我对测试数据的预测完全不在我的测试数据上。我尝试将ARIMAX方法用作回归天气。说它不会添加任何信息。 ACF / PCF,测试/训练数据 所以我每天和每周做一次季节性裁员 天 第一周趋势 如果可以预见股价趋势,就可以拥有: 蓝色是我的预测,红色是真正的价值。 我将进行回归分析,将天气的滚动平均值作为收入,将股价趋势的趋势作为结果。但是到目前为止,我还没有找到任何关系。 但是,如果没有互动,我怎么知道什么都没有?也许只是我没有找到它。

3
偏态数据回归
尝试根据人口统计和服务计算访问次数。数据非常歪斜。 直方图: qq图(左边是对数): m <- lm(d$Visits~d$Age+d$Gender+city+service) m <- lm(log(d$Visits)~d$Age+d$Gender+city+service) city和service是因子变量。 对于所有变量,我都得到一个较低的p值***,但是我也得到了.05的一个较低的r平方。我该怎么办?另一个模型可以工作吗,例如指数模型或其他模型?

2
决策树和回归-预测值是否超出训练数据范围?
对于决策树,预测值是否可以超出训练数据的范围? 例如,如果目标变量的训练数据集范围是0-100,那么当我生成模型并将其应用于其他对象时,我的值可以为-5吗?还是150? 鉴于我对决策树回归的理解是,它仍然是基于规则的-左/右进展,并且在训练集中的树的底部,它永远不会看到超出特定范围的值,因此它将永远无法预测吗?


1
面板/纵向数据的预测评估指标
我想评估几种不同的模型,这些模型可以每月提供行为预测。数据是平衡的, 100,000, 12。结果是在给定的月份参加音乐会,因此在任何月份中〜80%的人都为零,但是用户量很大,右尾长长。我的预测似乎并不尊重结果的计数性质:小规模音乐会很普遍。T =n=n=n=T=T=T= 我对模型一无所知。我每个人每个月只观察6种不同的黑匣子预测。我确实有额外的一年数据,模型制作者没有估算的数据(尽管一致参加者保持不变),我想评估每个数据在哪里表现良好(就准确性和准确性而言)。例如,某些模型对经常参加音乐会的人是否有很好的预测,但对沙发土豆却没有用?一月份的预测好于十二月的预测吗?另外,很高兴知道这些预测使我能够根据实际情况对人进行正确排名,即使无法相信确切的幅度。y^1,...,y^6y^1,...,y^6\hat y_1,...,\hat y_6 我的第一个想法是对预测的和时间的虚拟变量进行实际的固定效应回归,并查看每个模型的RMSE或。但这不能回答有关每个模型在哪里运行良好或差异是否显着的问题(除非我引导RMSE)。结果的分布也让我担心这种方法。R2R2R^2 我的第二个想法是将结果分为0、1-3和3+,然后计算混淆矩阵,但这会忽略时间维度,除非我将其设为12。这也很粗糙。 我知道concordTJ Steichen和NJ Cox所提供的Stata命令,它们可以by()选择,但是这需要将数据压缩到年度总数中。这将在其他有用的统计数据中,使用置信区间计算Lin的Concordance相关指数。CCC的范围是-1至1,完美的一致性为1。 还有Harrell的(由R. Newson 计算 ),可以选择,但是我不确定这是否允许我处理面板数据。这为您提供了置信区间。Harrell c是连续结果的ROC曲线(AUC)下面积的概括。它是可以排序的所有对的比例,以使具有较高预测值的对象实际上具有较高的结局。因此,对于随机预测,,对于完全区分的模型,。参见哈雷尔的书,第493页c = 0.5 c = 1cccsomersdclusterc=0.5c=0.5c=0.5c=1c=1c=1 您将如何解决这个问题?您是否建议计算预测中常见的统计数据(如MAPE)? 到目前为止发现的有用的东西: 幻灯片上的林的一致性相关系数的重复测量版本

2
这种建模方法是否过度拟合
最近有人告诉我,我遵循的过程(MS论文的组成部分)可能被认为过拟合。我希望对此有更好的了解,看看其他人是否同意。 本文这一部分的目的是 在数据集上比较梯度提升回归树与随机森林的性能。 查看所选最终模型(GBM或RF)的性能。 正在使用R中的gbm和randomForest软件包以及 caret。 遵循的过程如下: 数据的初步预处理(例如,将名义上的预测变量的缺失值插入称为“缺失”的不同类别)。没有考虑任何预处理的目标变量(这是非常小的)。 为每种算法的元参数创建值的网格(例如,GBM的迭代次数)。 创建数据集的25个随机分割(65%训练和35%测试)。 对GBM重复以下步骤25次(每次使用随机训练/测试分组之一。每次,训练和测试集都是课程更改的“当前”,这是重复的离开组交叉验证): 使用5倍交叉验证在网格搜索上找到算法的“最佳”参数设置。当前运行中没有使用先前运行中的任何东西。 确定后,将模型拟合到完整的“当前”训练集并预测“当前”测试集。保留此运行的性能指标。 一旦以这种方式获得了25个性能指标(实际上是特定于领域的指标,但将其视为准确性),请使用完全相同的过程,使用完全相同的独立训练和测试样本进行RF(相同过程,只是使用不同的方法)当然是网格搜索)。 现在,我从当时针对GBM和RF的“当前”测试集中获得了25种性能指标。我使用Wilcoxon符号秩检验和排列检验比较它们。我发现GBM更好。我还声称,GBM的这25次运行中的性能指标分布是最终GBM分类器的预期性能。 我没有做的是从一开始就抽取一个随机测试集,并将其放在一边,以便与根据所有训练数据构建的最终GBM模型进行比较。我认为我所做的实际上要好得多,因为我在保持过程中重复了拆分数据/调优模型/测试25次,而仅重复了一次。 这里有过度拟合吗?由于使用了25个运行来选择GBM与RF,这是否意味着从流程中获取的性能指标不能用作完整模型的性能估算? 编辑 为了回应韦恩的评论,这是在25次运行中的每一次运行的过程: 第i个训练集(i = 1,..,25)的采样数据分为5个大小相等的组。使用5组中的4组拟合模型,并将GBM参数(例如,迭代数)设置为等于第j个网格(j = 1,..,18)中的值。 使用此模型计算第五组的表现。 步骤1和步骤2再重复4次(常规旧k倍CV,k = 5)。该性能是从5个子运行中平均得出的,这用特定的一组参数值组成了GBM的预期性能。 对网格中的其他17个“行”重复执行步骤1-3。 一旦完成,就可以确定上述练习中的最佳参数值,并使用这些参数值和完整的第i个训练集拟合GBM。它的性能是在第i个测试集上估计的。 一旦整个过程完成25次,GBM就有25种性能指标。然后他们以完全相同的方式收集到RF。 在比较和选择GBM之后,我查看了这25个性能指标,并采用均值和标准差来确定该数据上GBM模型的置信区间。


1
时间序列差异的置信区间
我有一个用于模拟某些过程的时间序列的随机模型。我对将一个参数更改为特定值的效果感兴趣,并希望显示时间序列(例如模型A和模型B)与某种基于仿真的置信区间之间的差异。 我一直在简单地运行来自模型A的一堆模拟和来自模型B的一堆模拟,然后在每个时间点减去中值以找到整个时间的中值差。我使用相同的方法来找到2.5和97.5分位数。这似乎是一种非常保守的方法,因为我没有共同考虑每个时间序列(例如,每个点在以前和将来都被认为独立于所有其他时间点)。 有一个更好的方法吗?

1
预测长进程
我用双态处理工作在为XŤXŤx_t{ 1 ,− 1 }{1个,-1个}\{1, -1\}吨= 1 ,2 ,...Ť=1个,2,…t = 1, 2, \ldots 自相关函数表示一个具有长内存的过程,即它显示幂律衰减为指数<1的幂律。 > library(fArma) > x<-fgnSim(10000,H=0.8) > x<-sign(x) > acf(x) 我的问题:仅给出自相关函数,是否有一种规范的方法可以最佳地预测序列中的下一个值?预测的一种方法就是简单地使用 X^(t )= x (t − 1 )X^(Ť)=X(Ť-1个)\hat{x}(t) = x(t-1) 的分类率为,其中是滞后1自相关,但我认为必须考虑长内存结构才能做得更好。(1 + ρ1个)/ 2(1个+ρ1个)/2(1 + \rho_1) / 2ρρ\rho

2
长短期记忆(LSTM)递归神经网络背后的直觉是什么?
循环神经网络(RNN)背后的想法对我很清楚。我以以下方式理解它:我们有一系列观察()(或换句话说,多元时间序列)。每个单个观测是一个维数值向量。在RNN模型中,我们假定下一个观测值是先前观测值以及先前的“隐藏状态”,其中隐藏状态也由数字表示向量(观察状态和隐藏状态的尺寸可以不同)。还假定隐藏状态本身取决于先前的观察和隐藏状态:o⃗ 1,o⃗ 2,…,o⃗ nØ→1个,Ø→2,…,Ø→ñ\vec o_1, \vec o_2, \dots, \vec o_no⃗ iØ→一世\vec o_iNñNo⃗ i+1Ø→一世+1个\vec o_{i+1}o⃗ iØ→一世\vec o_{i}h⃗ iH→一世\vec h_i Ø⃗ 一世,小时⃗ 一世= F(o⃗ i − 1,小时⃗ i − 1)Ø→一世,H→一世=F(Ø→一世-1个,H→一世-1个)\vec o_i, \vec h_i = F (\vec o_{i-1}, \vec h_{i-1}) 最后,在RNN模型中,函数FFF被假定为神经网络。我们使用可用数据(观察序列)训练(拟合)神经网络。我们训练的目标是能够使用先前的观察结果尽可能准确地预测下一个观察结果。 现在,LSTM网络是对RNN网络的修改。据我了解,LSTM背后的动机是解决RNN特有的短存储问题(常规RNN在相关事件之间存在时间间隔过长的问题)。 我了解LSTM网络是如何工作的。这是我发现的LSTM的最佳解释。基本思想如下: 除了隐藏状态向量之外,我们还引入了一种所谓的“单元状态”向量,该向量具有与隐藏状态向量(C⃗ 一世C→一世\vec c_i)相同的大小(维数)。我认为引入了“细胞状态”向量来建模长期记忆。与常规RNN一样,LSTM网络将观察到的和隐藏的状态作为输入。使用此输入,我们可以通过以下方式计算新的“单元状态”: C⃗ 我+ 1= ω⃗ 1个(o⃗ 一世,小时⃗ 一世)⋅ …

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.