统计和大数据

对统计,机器学习,数据分析,数据挖掘和数据可视化感兴趣的人的问答

1
r中套索的多元线性回归
我正在尝试创建一个简化的模型来预测许多高度相关的因变量(DV)(〜450)。 我的自变量(IV)也很多(〜2000)并且高度相关。 如果我使用套索分别为每个输出选择一个简化的模型,那么当我遍历每个因变量时,不能保证获得相同的独立变量子集。 是否有在R中使用套索的多元线性回归? 这不是组套索。套索组IV。我想要多元线性回归(意味着DV是矩阵,而不是标量的向量),它也实现套索。(注意:正如NRH所指出的,这是不正确的。组套索是一个通用术语,它包括对IV进行分组的策略,但也包括对其他参数(如DV)进行分组的策略) 我发现本文进入了所谓的稀疏重叠集套索 这是一些进行多元线性回归的代码 > dim(target) [1] 6060 441 > dim(dictionary) [1] 6060 2030 > fit = lm(target~dictionary) 这是在单个DV上执行套索的一些代码 > fit = glmnet(dictionary, target[,1]) 这就是我想做的: > fit = glmnet(dictionary, target) Error in weighted.mean.default(y, weights) : 'x' and 'w' must have the same length 一次选择适合所有目标的特征

2
用异方差模拟线性回归
我正在尝试模拟与我拥有的经验数据匹配的数据集,但是不确定如何估算原始数据中的错误。经验数据包括异方差性,但是我不希望将其转换掉,而是使用带有误差项的线性模型来再现经验数据的模拟。 例如,假设我有一些经验数据集和一个模型: n=rep(1:100,2) a=0 b = 1 sigma2 = n^1.3 eps = rnorm(n,mean=0,sd=sqrt(sigma2)) y=a+b*n + eps mod <- lm(y ~ n) 使用plot(n,y)我们得到以下内容。 但是,如果尝试模拟数据simulate(mod),则异方差性将被删除并且不会被模型捕获。 我可以使用广义最小二乘法模型 VMat <- varFixed(~n) mod2 = gls(y ~ n, weights = VMat) 可以基于AIC提供更好的模型拟合,但是我不知道如何使用输出来模拟数据。 我的问题是,如何创建一个模型,使我能够模拟数据以匹配原始的经验数据(上述n和y)。具体来说,我需要一种使用模型来估算sigma2的方法吗?

3
使用深度学习进行特征选择?
我想使用深度模型来计算每个输入功能的重要性。 但是我只发现了一篇有关使用深度学习进行深度选择的文章。它们在第一个隐藏层之前插入直接连接到每个要素的节点层。 我听说深度信任网络(DBN)也可以用于此类工作。但是我认为DBN仅提供PCA等功能的抽象(类),因此尽管它可以有效地减小尺寸,但我想知道是否有可能计算每个功能的重要性(权重)。 DBN是否可以计算功能的重要性?还有其他使用深度学习进行特征选择的方法吗?

1
样条混合效果模型
我正在用样条曲线项拟合混合效果模型,该应用程序的随时间变化的趋势是曲线线性的。但是,我要评估的是曲线趋势是否是由于个体偏离线性而出现的,还是在组水平上使组水平拟合显得曲线线性的一种影响。我给出了一个可重现的示例,该示例使JM包中的数据集变得无聊。 library(nlme) library(JM) data(pbc2) fitLME1 <- lme(log(serBilir) ~ ns(year, 2), random = ~ year | id, data = pbc2) fitLME2 <- lme(log(serBilir) ~ year, random = ~ ns(year, 2) | id, data = pbc2) 本质上,我想知道其中哪一个更适合我的数据。但是通过比较anova给了我一个不祥的警告: Model df AIC BIC logLik Test L.Ratio p-value fitLME1 1 7 3063.364 3102.364 -1524.682 fitLME2 …
9 r  splines  lme4-nlme 

1
流形学习和非线性降维有什么区别?
流形学习和非线性降维有什么区别? 我已经看到这两个术语可以互换使用。例如: http://www.cs.cornell.edu/~kilian/research/manifold/manifold.html: 流形学习(通常也称为非线性降维)追求的目标是在保持特征特性的同时,将原来位于高维空间中的数据嵌入到低维空间中。 http://www.stat.washington.edu/courses/stat539/spring14/Resources/tutorial_nonlin-dim-red.pdf: 在本教程中,“流形学习”和“降维”可互换使用。 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3337666/: 降维方法是一类算法,该算法使用数学定义的流形对多维类进行统计采样,以生成保证统计准确性的判别规则。 但是,http ://scikit-learn.org/stable/modules/manifold.html更为细微: 流形学习是非线性降维的一种方法。 我看到的第一个区别是流形可以是线性的,因此应该比较非线性流形学习和非线性降维。

2
引导程序样本的大小
我正在学习将引导程序作为估计样本统计量方差的一种方法。我有一个基本的疑问。 引用自http://web.stanford.edu/class/psych252/tutorials/doBootstrapPrimer.pdf: •我们应该重新采样多少个观测值?一个很好的建议是原始样本大小。 我们如何重新采样与原始采样中一样多的观测值? 如果我的样本量为100,并且正在尝试估算均值的方差。如何从总样本量为100的样本中获取多个大小为100的引导样本?在这种情况下,只能有1个引导程序样本,这与原始样本等效吗? 我显然误会了一些非常基本的东西。据我所知,数的理想 bootstrap样本总是无限的,并确定必要的引导样品我的数据我不得不进行收敛检验的数量保持我的精度要求的初衷。 但我真搞不清楚什么应该是每一个的大小个体引导样品。

3
如何在scikit-learn的多层感知器中将Softmax用作激活功能?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为交叉验证的主题。 11个月前关闭。 我需要在scikit中将Softmax激活功能应用于多层Perceptron。关于神经网络模型(受监督)的scikit 文档指出:“ MLPClassifier通过将Softmax用作输出函数来支持多类分类。” 问题是如何应用功能? 在下面的代码片段中,当我在激活参数下添加Softmax时,它不接受。 MLPClassifier(activation='Softmax', alpha=1e-05, batch_size='auto', beta_1=0.9, beta_2=0.999, early_stopping=False, epsilon=1e-08, hidden_layer_sizes=(15,), learning_rate='constant', learning_rate_init=0.001, max_iter=200, momentum=0.9, nesterovs_momentum=True, power_t=0.5, random_state=1, shuffle=True, solver='lbfgs', tol=0.0001, validation_fraction=0.1, verbose=False, warm_start=False) 错误代码为: ValueError:不支持激活“ Softmax”。支持的激活是(“身份”,“物流”,“ tanh”,“ relu”)。 有没有办法在scikit-learn中将Softmax激活函数应用于多类分类?

1
对高斯过程回归方程推导的怀疑
我正在阅读本文的预印本,在他们推导高斯过程回归方程式时遇到了困难。他们使用Rasmussen&Williams的设置和符号。因此,假定具有方差加性,零均值,平稳和正态分布噪声:σ2Ñ ø 我小号ËσñØ一世sË2\sigma^2_{noise} ÿ= f(x)+ ϵ ,ε 〜Ñ(0 ,σ2Ñ ø 我小号Ë)ÿ=F(X)+ϵ,ϵ〜ñ(0,σñØ一世sË2)y=f(\mathbf{x})+\epsilon, \quad \epsilon\sim N(0,\sigma^2_{noise}) 对于假定GP均值为零,这意味着,\ mathbf {f} = \ {f(\ mathbf {x_1}),\ dots,f (\ mathbf {x_d})\}是具有均值0和协方差矩阵的高斯向量F(x)F(X)f(\mathbf{x})∀ d ∈ ñ∀ d∈ñ\forall \ d\in NF= { f(x1个),…,f(xd)}f={f(x1),…,f(xd)}\mathbf{f}=\{f(\mathbf{x_1}),\dots,f(\mathbf{x_d})\} Σd=⎛⎝⎜⎜k(x1,x1)k(xd,x1)⋱k(x1,xd)k(xd,xd)⎞⎠⎟⎟Σd=(k(x1,x1)k(x1,xd)⋱k(xd,x1)k(xd,xd))\Sigma_d=\pmatrix{k(\mathbf{x_1},\mathbf{x_1})& & k(\mathbf{x_1},\mathbf{x_d}) \\ & \ddots & \\k(\mathbf{x_d},\mathbf{x_1})& & k(\mathbf{x_d},\mathbf{x_d}) } 从现在开始,我们假设超参数是已知的。那么,论文的等式(4)是显而易见的: p(f,f∗)=N(0,(Kf,fKf∗,fKf∗,fKf∗,f∗))p(f,f∗)=N(0,(Kf,fKf∗,fKf∗,fKf∗,f∗))p(\mathbf{f},\mathbf{f^*})=N\left(0,\pmatrix { K_{\mathbf{f},\mathbf{f}} …

4
我应该如何处理这个二元预测问题?
我有一个具有以下格式的数据集。 有二元结局癌症/无癌症。数据集中的每位医生都看过每位患者,并对患者是否患有癌症做出独立判断。然后,医生会给出他们的诊断正确与否的5分置信度,并在方括号中显示置信度。 我尝试了各种方法来从该数据集中获得良好的预测。 对于我来说,在不考虑医生的置信度的情况下,对所有医生平均而言,效果很好。在上表中,这将为患者1和患者2做出正确的诊断,尽管它会错误地指出患者3有癌症,因为在2-1多数中,医生认为患者3有癌症。 我还尝试了一种方法,其中我们随机抽取两名医生,如果他们彼此不同意,则决定权投给哪个更有信心的医生。这种方法是经济的,因为我们不需要咨询很多医生,但是它也大大提高了错误率。 我尝试了一种相关的方法,在该方法中我们随机选择两名医生,如果他们彼此不同意,我们将随机选择另外两名医生。如果一项诊断至少要进行两次“投票”,那么我们会解决一些问题,以支持该诊断。如果没有,我们将继续抽样更多的医生。这种方法非常经济,不会犯太多错误。 我不禁感到自己正在错过一些更复杂的做事方式。例如,我想知道是否存在某种方法可以将数据集分为训练集和测试集,并找到某种最佳方式来组合诊断,然后查看这些权重在测试集上的表现。一种可能性是某种方法,可以让我减轻一直在试验集上犯错误的医生的体重,也可以减肥以高置信度做出的诊断(置信度确实与此数据集的准确性相关)。 我有许多与此一般说明相符的数据集,因此样本量各不相同,并且并非所有的数据集都与医生/患者有关。但是,在此特定数据集中,有40位医生,每位医生看了108位患者。 编辑:这是我阅读@ jeremy-miles的答案所得到的一些权重的链接。 未加权的结果在第一列中。实际上,在此数据集中,最大置信度值为4,而不是我之前错误地说的5。因此,按照@ jeremy-miles的方法,任何患者可获得的最高未加权评分将是7。这意味着从字面上看,每位医生都以4的置信度断言该患者患有癌症。任何患者均可获得的最低未加权分数是0,这意味着每位医生都以4的置信度断言该患者没有癌症。 Cronbach的Alpha加权。我在SPSS中发现Cronbach的总体Alpha为0.9807。我试图通过更手动的方式计算Cronbach的Alpha值来验证该值是否正确。我创建了所有40位医生的协方差矩阵,并将其粘贴在此处。然后根据我对Cronbach的Alpha公式的理解其中是项目数(这里是医生的“项目”),我通过对协方差矩阵中的所有对角元素求和来计算,并通过对以下元素中的所有元素求和来计算协方差矩阵。然后我得到了α = Kķ− 1( 1 - Σ σ2X一世σ2Ť)α=ķķ-1个(1个-∑σX一世2σŤ2)\alpha = \frac{K}{K-1}\left(1-\frac{\sum \sigma^2_{x_i}}{\sigma^2_T}\right)ķķKΣ σ2X一世∑σX一世2\sum \sigma^2_{x_i}σ2ŤσŤ2\sigma^2_Tα = 4040 − 1( 1 − 8.7915200.7112) =0.9807α=4040-1个(1个-8.7915200.7112)=0.9807\alpha = \frac{40}{40-1}\left(1-\frac{8.7915}{200.7112}\right)=0.9807然后,我计算了每位医生从移出时将发生的40种不同的Cronbach Alpha结果。数据集。我将对克伦巴赫的Alpha值贡献为负的任何医生的权重加权为零。我为其余医生得出了与他们对克伦巴赫Alpha的积极贡献成正比的权重。 按项目相关性加权。我计算所有“项目总计”相关性,然后按相关性大小成比例权衡每个医生的体重。 通过回归系数加权。 我仍然不确定的一件事是如何说哪种方法比另一种“更好”地工作。以前,我一直在计算诸如Peirce技能得分之类的东西,它适用于具有二元预测和二元结果的实例。但是,现在我的预测范围是0到7,而不是0到1。我应该将所有加权分数> 3.50转换为1,将所有加权分数<3.50转换为0吗?

2
随机变分推断在高斯贝叶斯混合中的应用
我试图实现与随机变推理高斯混合模型,如下文。 这是高斯混合的pgm。 根据本文,随机变异推断的完整算法为: 我仍然对将其缩放到GMM的方法感到非常困惑。 首先,我认为局部变分参数仅为qzqzq_z,其他均为全局参数。如果我错了,请纠正我。步骤6是什么意思as though Xi is replicated by N times?我应该怎么做才能做到这一点? 你能帮我吗?提前致谢!

1
贝叶斯统计如何估算参数的示例,这些参数很难通过惯常方法进行估算
贝叶斯统计学家坚持认为“贝叶斯统计可以估算出参数,而这些参数很难通过惯常方法来估算”。从SAS文档中引用的以下内容是否表示同一件事? 它提供了以数据为条件且准确的推断,而无需依赖渐近逼近。小样本推论以与大样本一样的方式进行。贝叶斯分析还可以直接估计参数的任何功能,而无需使用“插入”方法(一种通过将估计的参数插入功能中来估计功能的方法)。 我在某些教科书中看到过类似的陈述,但不记得在哪里。有人可以举例说明吗?

2
最小二乘假设
假定以下线性关系: Yi=β0+β1Xi+uiYi=β0+β1Xi+uiY_i = \beta_0 + \beta_1 X_i + u_i,其中YiYiY_i是因变量,XiXiX_i的单个自变量和uiuiu_i误差项。 根据Stock&Watson(《计量经济学概论》;第4章),第三个最小二乘假设是XiXiX_i和的第四矩是uiuiu_i非零且有限的(0&lt;E(X4i)&lt;∞ and 0&lt;E(u4i)&lt;∞)(0&lt;E(Xi4)&lt;∞ and 0&lt;E(ui4)&lt;∞)(0<E(X_i^4)<\infty \text{ and } 0<E(u_i^4)<\infty)。 我有三个问题: 我不完全理解此假设的作用。如果该假设不成立,或者我们需要此假设进行推断,OLS是否有偏见且不一致? Stock和Watson写道:“这种假设限制了使用XiXiX_i或极大值进行观察的可能性uiuiu_i。” 但是,我的直觉是这种假设是极端的。如果我们有较大的离群值(例如第四矩很大),但是如果这些值仍然有限,我们会遇到麻烦吗?顺便说一句:离群值的基础定义是什么? 我们可以重新定义为:“ XiXiX_i和的峰度uiuiu_i是非零且有限的吗?”

2
用于图像分类的非正方形图像
我有一个宽图像的数据集:1760x128。我已经阅读了教程和书籍,其中大多数都指出输入图像应为正方形,如果不是,则将它们转换为正方形以便在已经训练过的(在正方形图像上)cnns中进行训练。有没有一种方法可以为非正方形图像训练cnn,还是应该寻找其他选项作为填充?

2
我们应该一直做简历吗?
我的问题:即使是相对较大的数据集,我也应该进行简历吗? 我有一个相对较大的数据集,我将对数据集应用机器学习算法。 由于我的电脑运行不快,因此CV(和网格搜索)有时会花费很长时间。特别是,由于许多调整参数,SVM永远都不会停止。因此,如果我进行简历,那么我需要选择一个相对较小的数据。 另一方面,验证集也应该很大,因此我认为使用与训练集大小相同(或更大)的验证集是个好主意。(也就是说,我使用大型验证集代替CV进行参数调整。) 所以我现在至少有两个选择。 对小数据集进行简历。 使用相对较大的训练集和验证集而不使用简历。 其他想法。 最好的主意是什么?无论是理论上还是实践上的意见都值得欢迎。

2
在交叉验证之前执行无监督特征选择实际上是否还好?
在“统计学习的要素”中,我发现以下语句: 有一项条件:可以在不进行样品检测之前进行初始的无监督筛选步骤。例如,在开始交叉验证之前,我们可以在所有50个样本中选择具有最高方差的1000个预测变量。由于此过滤不涉及类标签,因此不会给预测变量带来不公平的优势。 这真的有效吗?我的意思是,通过预先过滤属性,我们不会模仿训练数据/新数据环境-那么,是否对正在执行的过滤没有监督是很重要的吗?在交叉验证过程中实际执行所有预处理步骤是否更好?如果不是这种情况,则意味着可以预先执行所有无监督的预处理,包括功能归一化/ PCA等。但是,通过对整个训练集进行这些操作,实际上是在向训练集泄漏一些数据。我可以同意,相对稳定的数据集,这些差异很可能应该很小-但这并不意味着它们不存在,对吧?思考这个问题的正确方法是什么?

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.