统计和大数据

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

1
Logistic损失函数的梯度
我想问一个与此有关的问题。 我在这里找到了为xgboost编写自定义损失函数的示例: loglossobj <- function(preds, dtrain) { # dtrain is the internal format of the training data # We extract the labels from the training data labels <- getinfo(dtrain, "label") # We compute the 1st and 2nd gradient, as grad and hess preds <- 1/(1 + exp(-preds)) grad <- preds …

1
渐近无偏与一致性之间有什么区别?
彼此暗示吗?如果不是,是否意味着另一个?为什么/为什么不呢? 这个问题是针对我在此处发布的答案的评论而提出的。 尽管google搜索相关术语并没有产生看起来特别有用的东西,但我确实注意到了数学stackexchange 的答案。但是,我认为这个问题也适用于该网站。 阅读评论后进行编辑 相对于math.stackexchange答案,我正在做更深入的研究,涵盖了@whuber注释线程中处理的一些问题。另外,正如我所看到的,math.stackexchange问​​题表明一致性并不意味着渐近地无偏见,但是对于原因却没有太多解释。那里的OP还理所当然地认为渐近无偏并不意味着一致性,因此到目前为止,唯一的回答者并没有解决为什么这样做。

1
为什么中心极限定理对单个样本有效?
我一直被教导,当您重复采样并且每个采样足够大时,CLT就会起作用。例如,假设我有一个拥有100万公民的国家。我对CLT的理解是,即使他们的身高分布不正常,如果我对50个人进行了1000次抽样(即,对50位市民进行了1000次调查),然后计算了每个样本的平均身高,这些样本的分布意味着正常。 但是,我从未见过现实世界中研究人员重复取样的情况。相反,他们采取了一个大样本(即,调查了50,000名公民的身高)并以此作为工作依据。 为什么统计书教导重复采样,而在现实世界中研究人员只能进行一次采样? 编辑:我正在考虑的现实案例是对50,000个Twitter用户的数据集进行统计。该数据集显然不是重复样本,仅是50,000个样本中的一个。


1
哪种是网络荟萃分析的最佳方法?
现在有几种不同的方法可以进行网络荟萃分析或混合治疗比较。 最常用和可访问的可能是以下几种: 在贝叶斯框架中: WinBUGS中的按处理设计交互方法(例如Jackson等); WinBUGS中基于手臂的分层贝叶斯建模(例如Zhao等); 分层对比度为基础(即,节点分裂)贝叶斯建模,无论是与WinBUGS软件或通过gemtc与rjags在R(例如Dias等或货车Valkenhoef等人); WinBUGS中的集成嵌套拉普拉斯近似(INLA)(例如Sauter等); 在常客框架中: SAS的因子分析方差分析(例如Piepho); SAS中的多层次网络荟萃分析(例如Greco等); mvmeta在Stata或R中的多元元回归(例如White等); lme和netmetaR中进行网络荟萃分析(例如Lumley,但仅限于两臂试验,或Rucker等)。 我的问题很简单:它们大致相等还是在大多数情况下更适合进行主要分析(因此将其他保留为辅助分析)? 更新 一段时间以来,对网络元分析的方法进行了一些比较分析: Carlin BP,Hong H,Shamliyan TA,Sainfort F,Kane RL。案例研究比较贝叶斯方法和常见方法进行多次治疗比较。医疗保健研究与质量局(美国)。2013。

3
神经网络的编码日期/时间(循环数据)
如何为神经网络编码事件的日期和时间? 我没有连续的时间序列,但是有一些带有日期和时间的事件,并且我分析了一些兴趣。这种兴趣在早晨和晚上之间有所不同,在工作日之间,夏季和冬季之间以及圣诞节和复活节之前等等也有所不同。而且事件本身在时间上有很强的不均匀分布(白天多于晚上,一周中有更多种类,周末中有更多种类)。 我尝试将其编码为年中的“周数”,“工作日1-7”和“小时”。但是,使用稀疏的自动编码器给我的印象是,我的数据对神经网络没有任何意义,即使具有很大的隐藏层,它也无法在输入附近重现任何内容。既不是分类0-1,也不是归一化值。 但是,为神经网络搜索时间编码通常会提供有关时间序列的信息,因此我被森林蒙住了双眼,但却在寻找树。 当然,我可以查看数据并将其大致视情况归类。但是深度学习的概念似乎席卷了所有手工制作的手工特征提取。并且分类将在自然连续的输入变量中插入较大的跳跃。 我大脑中的“自然编码”更像是“夜”,“早晨”,“工作日”等某些类别的模糊成员。 为了使整个事情更有趣,dependend变量还包含那些日期/时间数据,但这是一个不同的问题。 编辑:与循环数据有关的某种方式是一些最近的问题,例如 使用该时段的数据集,哪些统计检验合理?

2
贝叶斯方法本质上是顺序的吗?
也就是说,要使用频繁性方法进行顺序分析(您无法提前确切地知道要收集多少数据),需要特别注意;您不能仅在p值变得足够小或置信区间变得足够短之前收集数据。 但是,在进行贝叶斯分析时,这是否值得关注?我们可以自由地做诸如收集数据之类的事情,直到可信间隔变得足够小时吗?

5
如何分析非周期时间序列中的趋势
假设我有以下非周期性的时间序列。显然,这种趋势正在减少,我想通过一些测试(使用p值)证明这一趋势。由于值之间存在强烈的时间(序列)自相关,因此我无法使用经典的线性回归。 library(forecast) my.ts <- ts(c(10,11,11.5,10,10.1,9,11,10,8,9,9, 6,5,5,4,3,3,2,1,2,4,4,2,1,1,0.5,1), start = 1, end = 27,frequency = 1) plot(my.ts, col = "black", type = "p", pch = 20, cex = 1.2, ylim = c(0,13)) # line of moving averages lines(ma(my.ts,3),col="red", lty = 2, lwd = 2) 我有什么选择?
12 r  time-series 


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
Scikit预报_proba输出解释
我正在使用python中的scikit-learn库。在下面的代码中,我正在预测概率,但是我不知道如何读取输出。 测试数据 from sklearn.ensemble import RandomForestClassifier as RF from sklearn import cross_validation X = np.array([[5,5,5,5],[10,10,10,10],[1,1,1,1],[6,6,6,6],[13,13,13,13],[2,2,2,2]]) y = np.array([0,1,1,0,1,2]) 分割数据集 X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.5, random_state=0) 计算概率 clf = RF() clf.fit(X_train,y_train) pred_pro = clf.predict_proba(X_test) print pred_pro 输出 [[ 1. 0.] [ 1. 0.] [ 0. 1.]] X_test列表包含3个数组(我有6个样本,test_size = …

2
为什么ridge回归不能提供比LASSO更好的解释性?
我已经对ridge回归和LASSO的利弊有了一个想法。 对于LASSO,L1惩罚项将产生稀疏系数矢量,可以将其视为特征选择方法。但是,LASSO有一些限制。如果特征具有高度相关性,则LASSO将仅选择其中之一。此外,对于 >问题,LASSO将最多选择参数(和分别是观测值和参数的数量)。与岭回归相比,就可预测性而言,这些经验使LASSO成为次优方法。Ñ Ñ Ñ ppppnnnnnnnnnppp 对于岭回归,通常可以提供更好的可预测性。但是,它的可解释性不如LASSO。 上面的解释通常可以在机器学习/数据挖掘的教科书中找到。但是,我仍然对两件事感到困惑: 如果我们对特征范围进行归一化(例如,介于0和1之间,或者均值和单位方差为零),并进行岭回归,则仍可以通过对系数的绝对值进行排序来了解特征的重要性(最重要的特征具有系数的最大绝对值)。尽管我们没有明确选择功能,但使用ridge回归并不会丧失可解释性。同时,我们仍然可以实现较高的预测能力。那为什么我们需要LASSO?我在这里想念什么吗? LASSO是否因其特征选择特性而被首选?据我了解,我们之所以需要特征选择,是因为它具有泛化能力和易于计算的能力。 为了简化计算,如果我们要执行某些NLP任务,我们不想将所有一百万个特征都馈入模型,因此我们首先删除一些显然无用的特征以降低计算成本。但是,对于LASSO,只有在将所有数据输入模型后才能知道特征选择结果(稀疏矢量),因此就降低计算成本而言,我们没有从LASSO中受益。我们只能更快地进行预测,因为现在我们仅将特征子集(例如一百万个中的500个)馈入模型以生成预测结果。 如果LASSO因其具有泛化能力而被首选,那么我们也可以使用ridge回归(或任何其他类型的正则化)来实现相同的目标。为什么我们再次需要LASSO(或弹性网)?为什么我们不能只坚持岭回归? 有人可以请问一下吗?谢谢!

1
在LASSO中为正则化参数选择范围和网格密度
同时,我正在学习LASSO(最小绝对收缩和选择算子)。我看到可以通过交叉验证来选择正则化参数的最佳值。我还看到在岭回归和应用正则化的许多方法中,我们可以使用CV来找到最佳正则化参数(说惩罚)。现在我的问题是关于参数上限和下限的初始值以及如何确定序列的长度。 具体来说,假设我们有一个LASSO问题 ,我们想找到惩罚的最佳值。那么我们如何为选择下界和上限?以及这两个值之间有多少分割?LogLikelihood=(y−xβ)′(y−xβ)+λ∑|β|1LogLikelihood=(y−xβ)′(y−xβ)+λ∑|β|1 LogLikelihood = (y-x\beta)'(y-x\beta) + \lambda \sum|\beta|_1 λλ\lambdaλ∈[a=?,b=?]λ∈[a=?,b=?]\lambda \in [a=?,b=?](b−a)k=?(b−a)k=?\frac{(b-a)}{k=?}



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.