统计和大数据

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

1
如何拟合响应变量在0到1之间的混合模型?
我正在尝试使用lme4::glmer()二项式广义混合模型(GLMM)来拟合因变量,该因变量不是二进制的,而是介于零和一之间的连续变量。可以将这个变量视为一种可能性;实际上,这是人类受试者报告的概率(在我帮助分析的实验中)。也就是说,它不是 “离散”分数,而是连续变量。 我的glmer()电话无法正常工作(请参阅下文)。为什么?我能做什么? 稍后编辑:我的以下回答比该问题的原始版本更笼统,因此我也将该问题修改为更笼统。 更多细节 显然,不仅可以对二进制DV使用逻辑回归,而且还可以对零和一之间的连续DV使用逻辑回归。的确,当我跑步时 glm(reportedProbability ~ a + b + c, myData, family="binomial") 我收到警告消息 Warning message: In eval(expr, envir, enclos) : non-integer #successes in a binomial glm! 但是非常合理的拟合(所有因素都是分类的,因此我可以轻松地检查模型预测是否接近跨学科平均水平,并且接近)。 但是,我实际要使用的是 glmer(reportedProbability ~ a + b + c + (1 | subject), myData, family="binomial") 它给了我同样的警告,返回了一个模型,但是这个模型显然有很大的缺陷。固定效应的估计值与固定效应的估计值相距甚远glm()。(而且我需要包含glmerControl(optimizer="bobyqa")在glmer通话中,否则它根本不会收敛。)

4
在哪种现实生活中,我们可以使用多臂强盗算法?
多臂强盗在您有选择的情况下工作得很好,并且您不确定哪个会最大化您的健康。您可以在某些现实生活中使用该算法。例如,学习可以是一个很好的领域: 如果一个孩子在学习木工,但对它不擅长,该算法将告诉他/她可能需要继续前进。如果他/她擅长,算法将告诉他/她继续学习该领域。 约会也是一个很好的领域: 你是一个男人,在追求女士方面投入了很多“精力”。但是,您的努力绝对是不受欢迎的。该算法应“轻微”(或强烈)推动您继续前进。 我们可以在多现实情况下使用多臂强盗算法吗? PS:如果问题过于广泛,请发表评论。如果达成共识,我将删除我的问题。


1
与标准梯度下降相比,随机梯度下降如何节省时间?
标准梯度下降将为整个训练数据集计算梯度。 for i in range(nb_epochs): params_grad = evaluate_gradient(loss_function, data, params) params = params - learning_rate * params_grad 对于预定义的时期数,我们首先使用参数向量参数为整个数据集计算损失函数的梯度向量weights_grad。 相反,随机梯度下降为每个训练示例x(i)和标签y(i)执行参数更新。 for i in range(nb_epochs): np.random.shuffle(data) for example in data: params_grad = evaluate_gradient(loss_function, example, params) params = params - learning_rate * params_grad SGD据说要快得多。但是,我不明白如果仍然对所有数据点进行循环,那么如何更快。GD中梯度的计算是否比分别为每个数据点计算GD慢得多? 代码来自这里。

2
说一个事件“最终发生”是什么意思?
考虑初始状态为的整数的一维随机游动:žZ\mathbb{Z} X ∈ žx∈Zx\in\mathbb{Z} 小号Ñ = X + Ñ Σ我= 1 ξ 我Sn=x+∑i=1nξi\begin{equation} S_n=x+\sum^n_{i=1}\xi_i \end{equation} 其中增量是IID,使得。ξ 我ξi\xi_i P { ξ 我 = 1 } = P { ξ 我 = - 1 } = 12P{ξi=1}=P{ξi=−1}=12P\{\xi_i=1\}=P\{\xi_i=-1\}=\frac{1}{2} 可以证明(1) P x { S n 最终达到+1 } = 1Px{Sn reaches +1 eventually}=1\begin{equation} P^x{\{S_n \text{ …

2
我们常客真的是隐性/不了解贝叶斯主义者吗?
对于给定的推理问题,我们知道贝叶斯方法通常在形式和结果上都不同于后继方法。经常有人(通常包括我在内)经常指出,他们的方法不需要先验,因此更多是“数据驱动”而不是“判断驱动”。当然,贝叶斯定律可以指向非信息性先验,或者说是实用的,只使用一个真正的分散先验。 我的担忧,尤其是在对惯常的客观性感到自鸣得意之后,尤其是我声称的“客观”方法可以在贝叶斯框架中提出,尽管有一些不同寻常的先验和数据模型。在那种情况下,我只是幸福地对荒谬的先验知识一无所知,并且仿照我的常客主义方法所暗示的那样吗? 如果贝氏指出,这样的提法,我想,我的第一反应是说“嗯,这是很好的,你可以这样做,但我怎么这不是想这个问题!”。但是,谁在乎我如何看待它或如何制定它。如果我的程序在统计学上/数学上等效于某些贝叶斯模型,那么我隐式地(不经意间!)执行贝叶斯推断。 下面的实际问题 这种认识大大破坏了任何自鸣得意的诱惑。但是,我不确定贝叶斯范式是否可以容纳所有惯常做法(同样,只要贝叶斯选择合适的先验和可能性)是否成立。我知道相反的说法是错误的。 我之所以这样问,是因为我最近发布了一个关于条件推断的问题,这使我想到了以下论文:在此处(请参阅3.9.5,3.9.6) 他们指出了Basu的著名结果,即可能有不止一个辅助统计信息,这引发了关于哪个“相关子集” 最相关的问题。更糟糕的是,它们显示了两个示例,这些示例说明即使您具有唯一的辅助统计信息,也无法消除其他相关子集的存在。 他们继续得出结论,只有贝叶斯方法(或与之等效的方法)才能避免此问题,从而实现无条件的条件推断。 贝叶斯统计惯常主义统计可能并非如此-这是我在这里向这个小组提出的问题。但是看来,这两种范式之间的根本选择在于哲学上而不是目标上:您需要较高的条件精度还是较低的无条件误差:⊃⊃\supset 当我们必须分析一个奇异的实例时,高条件精度似乎是适用的-尽管这种方法可能不适用于下一个数据集(超条件/专业化),但我们希望适合这种特殊的推断。 如果在某些情况下我们愿意做出有条件的错误推断,则低无条件错误是合适的,只要我们将长期运行的错误最小化或加以控制即可。老实说,写完这篇文章后,我不确定为什么要这么做,除非我被束缚了时间并且无法进行贝叶斯分析……嗯。 我倾向于基于似然的惯性论推论,因为我从似然函数中得到了一些(渐近/近似)条件性,但不需要摆弄先验条件-但是,我对贝叶斯推论越来越适应,尤其是当我看到了用于小样本推断的先前的aa 正则化术语。 抱歉,放在一边。我的主要问题的任何帮助表示赞赏。

1
写出多层混合效应模型的数学方程
简历问题 我正在尝试给出混合效果模型的详细且简洁的数学表示。我lme4在R中使用该软件包。我的模型的正确数学表示是什么? 数据,科学问题和R代码 我的数据集由不同地区的物种组成。我正在测试某个物种的流行率是否在导致灭绝(灭绝不一定是永久性的;它可以重新定殖)或定居之后的时间内发生变化。 lmer(prevalence ~ time + time:type + (1 + time + type:time | reg) + (1 + time + type:time | reg:spp)) 患病率是某个区域年份中某物种所占地层的比例 时间是一个连续变量,表示灭绝或定植的时间;它总是积极的 类型是具有两个级别的类别变量。这两个级别是“-”和“ +”。当type为-时,它是一个殖民化(默认级别)。当type为+时,表示灭绝。 Reg是具有9个级别的类别变量,表示区域 spp是分类变量;级别数因地区而异,在48级和144级之间变化。 换句话说:响应变量是患病率(占地层的比例)。固定效果包括1)和拦截,2)事件发生的时间以及3)事件发生的时间与事件类型(殖民化或灭绝)之间的相互作用。这3种固定效应中的每一种在区域之间随机变化。在一个区域内,每种效应在物种之间随机变化。 我试图弄清楚如何为模型编写数学方程式。我想我理解R代码中发生的事情(尽管,我确信我有一些知识空白,希望写出正式的数学表达式可以增进我的理解)。 我已经通过网络和这些论坛进行了很多搜索。可以肯定的是,我发现了大量有用的信息(也许我会在对此问题的编辑中链接到其中一些信息)。但是,我无法完全找到将R代码的“ Rosetta Stone”转换为数学公式(我对代码更满意)是否真的可以帮助我确认我正确理解了这些方程式。实际上,我知道已经存在一些差距,但是我们会解决的。 我的尝试 混合效应模型的基本形式,在矩阵表示法中为(我的理解):Y=Xβ+Zγ+ϵY=Xβ+Zγ+ϵ Y = X \beta + Z \gamma + \epsilon γX=⎡⎣⎢⎢1⋮1Δt⋮ΔtnΔt+⋮Δt+,n⎤⎦⎥⎥X=[1ΔtΔt+⋮⋮⋮1ΔtnΔt+,n] X = …

2
ABC和MCMC在应用方面有何不同?
据我了解,近似贝叶斯计算(ABC)和马尔可夫链蒙特卡洛(MCMC)具有非常相似的目标。下面,我将描述我对这些方法的理解,以及如何理解它们在实际数据中的应用差异。 近似贝叶斯计算 ABC包括先验取样一个参数θθ\theta,然后通过数值模拟计算出统计量xixix_i,并将其与一些观测到的xobsxobsx_{obs}。基于拒绝算法,xixix_i被保留或拒绝。保留列表xixix_i所做出的后验分布。 马尔可夫链蒙特卡洛 MCMC包括对参数的先验分布进行采样。它需要一个第一样本θ 1,计算P (X ö b 小号 | θ 1)P (θ 1),然后跳转(根据某些规则)到一个新的值θ 2为其中P (X ö b 小号 | θ 2)P (θ 2)被再次计算。比率P (x o b sθθ\thetaθ1θ1\theta_1P(xobs|θ1)P(θ1)P(xobs|θ1)P(θ1)P(x_{obs} | \theta_1)P(\theta_1)θ2θ2\theta_2P(xobs|θ2)P(θ2)P(xobs|θ2)P(θ2)P(x_{obs} | \theta_2)P(\theta_2)进行计算,并根据一些阈值时,将来自所述第一或第二位置发生的下一个跳跃。探索θ值的过程是一而终,最后,保留的θ值的分布是后验分布P(θ|x)(出于我尚不知道的原因)。P(xobs|θ2)P(θ2)P(xobs|θ1)P(θ1)P(xobs|θ2)P(θ2)P(xobs|θ1)P(θ1)\frac{P(x_{obs} | \theta_2)P(\theta_2)}{P(x_{obs} | \theta_1)P(\theta_1)}θθ\thetaθθ\thetaP(θ|x)P(θ|x)P(\theta | x) 我意识到我的解释未能代表这些术语(尤其是MCMC)下每个术语下存在的各种方法。 ABC vs MCMC(利弊) ABC的优点是不需要解析地求解。这样,ABC对于MCMC无法做到的复杂模型很方便。P(x|θ)P(θ)P(x|θ)P(θ)P(x | \theta)P(\theta) MCMC允许进行统计检验(似然比检验,G检验……),而我认为这对于ABC来说是不可行的。 我到目前为止正确吗? 题 ABC和MCMC在应用方面有何不同?如何决定使用一种或另一种方法?

2
从不正确的分布中采样(使用MCMC和其他方法)
我的基本问题是:如何从不正确的分布中抽样?从不正确的分布中取样甚至有意义吗? 西安的评论在某种程度上解决了这个问题,但我正在寻找有关此问题的更多详细信息。 更特定于MCMC: 在谈论MCMC和阅读论文时,作者强调要获得适当的后验分布。有著名的Geyer(1992)论文,作者忘了检查他们的后验是否正确(否则是一篇出色的论文)。 但是,假设我们有一个似然和不适当的先验分布使得所得后也不合适,并且MCMC从分发用于样品。在这种情况下,样本表明什么?此样本中有任何有用的信息吗?我知道这里的马尔可夫链就是瞬态的或零循环的。如果是零循环,是否有任何积极的收获?θF(x | θ )F(X|θ)f(x|\theta)θθ\theta 最后,在Neil G 在这里的回答中,他提到了 您通常可以从后方取样(使用MCMC),即使操作不当也是如此。 他提到这种采样在深度学习中很常见。如果这是真的,那有什么意义呢?

4
梯度提升机的精度随着迭代次数的增加而降低
我正在通过caretR中的程序包尝试使用梯度增强机算法。 使用一个小的大学录取数据集,我运行了以下代码: library(caret) ### Load admissions dataset. ### mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") ### Create yes/no levels for admission. ### mydata$admit_factor[mydata$admit==0] <- "no" mydata$admit_factor[mydata$admit==1] <- "yes" ### Gradient boosting machine algorithm. ### set.seed(123) fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary) grid <- expand.grid(n.trees = seq(5000,1000000,5000), interaction.depth = 2, shrinkage = …
15 machine-learning  caret  boosting  gbm  hypothesis-testing  t-test  panel-data  psychometrics  intraclass-correlation  generalized-linear-model  categorical-data  binomial  model  intercept  causality  cross-correlation  distributions  ranks  p-value  z-test  sign-test  time-series  references  terminology  cross-correlation  definition  probability  distributions  beta-distribution  inverse-gamma  missing-data  paired-comparisons  paired-data  clustered-standard-errors  cluster-sample  time-series  arima  logistic  binary-data  odds-ratio  medicine  hypothesis-testing  wilcoxon-mann-whitney  unsupervised-learning  hierarchical-clustering  neural-networks  train  clustering  k-means  regression  ordinal-data  change-scores  machine-learning  experiment-design  roc  precision-recall  auc  stata  multilevel-analysis  regression  fitting  nonlinear  jmp  r  data-visualization  gam  gamm4  r  lme4-nlme  many-categories  regression  causality  instrumental-variables  endogeneity  controlling-for-a-variable 

1
统计算法开发人员候选人有哪些好的面试问题?
我正在就统计/机器学习/数据挖掘上下文中的算法开发人员/研究人员的位置采访人们。 我正在寻找问题,以明确确定候选人对基础理论的熟悉程度,理解程度和灵活度,例如期望和方差的基​​本属性,一些常见分布等。 我当前需要解决的问题是:“有一个未知量,我们想估计。为此,我们有估计器,在给定,它们都是无偏且独立的,并且每个都有一个已知的方差,每个方差都不同。找到最优估计量,该方差是无偏的且方差最小。”XXXY1,Y2,…,YnY1,Y2,…,YnY_1, Y_2, \ldots, Y_nXXXσ2iσi2\sigma_i^2Y=f(Y1,…,Yn)Y=f(Y1,…,Yn)Y=f(Y_1,\ldots, Y_n) 我希望任何认真的候选人都可以轻松地处理它(给了一些时间进行计算),但是令我惊讶的是,据称来自相关领域的候选人竟然没有取得最小的进步。因此,我认为这是一个很好的,有区别的问题。这个问题的唯一问题是它仅仅是一个。 还有什么其他问题可以使用呢?另外,在哪里可以找到此类问题的集合?


2
Out of Bag Error使得在随机森林中不需要CV吗?
我对随机森林很陌生。过去,我一直将拟合与测试的准确性与拟合与训练的准确性进行比较,以检测是否存在过度拟合。但是我在这里读到: “在随机森林中,不需要交叉验证或单独的测试集即可获得测试集误差的无偏估计。它是在运行期间内部估计的……” 上面的一小段可以在“ 袋外(oob)误差估计”部分找到。这个“袋外错误”概念对我来说是一个全新的概念,令人困惑的是我模型中的OOB错误是35%(或65%的准确度),但是,如果我对我的数据应用交叉验证(只是一个简单的保留)方法),然后将拟合与测试与拟合与训练进行比较,我分别获得65%的准确性和96%的准确性。根据我的经验,这被认为是过拟合,但OOB会保持35%的误差,就像我的拟合与测试误差一样。我过拟合吗?我是否应该甚至使用交叉验证来检查随机森林中的过度拟合? 简而言之,当我的拟合vs训练表明我过度拟合时,我不确定是否应该信任OOB来获得测试集错误的无偏错误!

2
BSTS模型(在R中)的预测完全失败
在阅读了有关贝叶斯结构时间序列模型的博客文章之后,我想看看在以前使用ARIMA的问题的背景下实现这一点。 我有一些已知的(但嘈杂的)季节性因素的数据-肯定有年度,每月和每周的因素,还有由于特殊日子(例如联邦或宗教假期)而产生的影响。 我使用了该bsts包来实现此目的,据我所知,我并没有做错任何事情,尽管组件和预测看起来并不像我期望的那样。我不清楚我的实现是否错误,不完整或存在其他问题。 全时系列如下所示: 我可以在数据的某些子集上训练模型,并且模型通常在拟合方面看起来不错(图如下)。我用来执行此操作的代码在这里: library(bsts) predict_length = 90 training_cut_date <- '2015-05-01' test_cut_date <- as.Date(training_cut_date) + predict_length df = read.csv('input.tsv', sep ='\t') df$date <- as.Date(as.character(df$date),format="%Y-%m-%d") df_train = df[df$date < training_cut_date,] yts <- xts(log10(df_train$count), order.by=df_train$date) ss <- AddLocalLinearTrend(list(), yts) ss <- AddSeasonal(ss, yts, nseasons = 7) ss <- AddSeasonal(ss, yts, nseasons …
15 r  time-series  bayesian  mcmc  bsts 

2
为什么贝叶斯推断中的后验分布常常很棘手?
我有一个问题,为什么贝叶斯推理会导致棘手的问题。该问题通常是这样解释的: 我不明白的是为什么必须首先评估此积分:在我看来,积分的结果只是一个归一化常数(如给出数据集D所示)。为什么不能简单地将后验分布计算为右侧的分子,然后通过要求后验分布上的积分必须为1来推断此归一化常数呢? 我想念什么? 谢谢!

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.