Seaborn置信区间的计算是否正确?
首先,我必须承认我的统计数据充其量是生锈的:即使它是新的,它也不是我特别喜欢的纪律,这意味着我很难理解它. 尽管如此,我还是看了看 barplot "> barplot "> barplot 图是在计算误差条,惊讶地发现使用的"置信区间"(CI)而不是(更常见的)标准偏差.研究更多的CI使我进入了这个 wikipedia文章似乎基本上说,基本上计算了一个CI AS: 在> 在> 或,在伪代码中: def ci_wp(a): """calculate confidence interval using Wikipedia's formula""" m = np.mean(a) s = 1.96*np.std(a)/np.sqrt(len(a)) return m - s, m + s 但是,我们在 seaborn/utils.pys.pys.py 是: def ci(a, which=95, axis=None): "
4 2024-04-03
编程技术问答社区
5个拟合值的贝叶斯区间
我通过从R中运行Winbugs进行了贝叶斯分析,并得出了拟合的值及其贝叶斯的间隔.这是相关的winbugs输出,其中mu [i]是第i-thit值. node mean 2.5% 97.5% mu[1] 0.7699 0.6661 0.94 mu[2] 0.8293 0.4727 1.022 mu[3] 0.7768 0.4252 0.9707 mu[4] 0.6369 0.4199 0.8254 mu[5] 0.7704 0.5054 1.023 我想做的是找到这5个拟合值的平均值的贝叶斯间隔.知道怎么样? 解决方案 克里斯·杰克逊(Chris Jackson)的答案是正确的,但是,如果您的模型运行了几个小时,您将不会很高兴,因为这意味着修改模型并再次运行.但是,您可以在不再运行模型的情况下实现R的目标 - 通过采用后部样本的平均值: out
0 2024-03-29
编程技术问答社区
确定R中分布的高密度区域
背景: 通常,r给出了众所周知的分布的分位数.在这些分位数中,下至97.5%的下部2.5%覆盖了这些分布下的95%. 问题: 假设我具有F分布(DF1 = 10,DF2 = 90).在R中,我如何确定此分布下的95%的面积,以使该95%仅覆盖高密度面积,而不是R通常给出的95% ? 注意:很明显,最高密度是"模式"(下图中的虚线).所以我想,必须从"模式"移到尾巴. 这是我的R代码: curve(df(x, 10, 90), 0, 3, ylab = 'Density', xlab = 'F value', lwd = 3) Mode = ( (10 - 2) / 10 ) * ( 90 / (90 + 2) ) abline(v = Mode, lty = 2) CI = qf( c(.025, .975), 10, 90) arrows(CI[1], .05, CI[2], .05, code = 3, angle = 90, length
8 2024-03-29
编程技术问答社区
使用置信区间在Matplotlib条形图中交互式地重绘条形图
试图基于所选Y值(由红线代表)在置信区间内的信心,试图在此图表中阴影.请参阅下面的类示例中的recolorBars()方法. 虽然我了解colormaps,Normalize()和ScalarMappable(),但我很认为要传递的值以归一化()为每个bar创建颜色和阴影. 这是我第一次生成时我的图表的样子. 要生成上图的图表,请致电chart = interactiveChart().交互性基于点击事件,该事件触发setAxHLine()回调以在选定的Y-VAL位置设置红色水平栏.最终,此方法还将触发recolorBars()方法. 测试的代码示例:(请注意,这是在Jupyter笔记本中运行的.) %matplotlib notebook # setup the environment import pandas as pd import numpy as np import statsmodels.stats.api as sms # for conf
0 2024-03-27
编程技术问答社区
如何计算置信区间并将其绘制在柱状图上
我如何绘制 的栏 data = 1x10 cell ,其中每个值中的每个值都有不同的维度,例如3x100、3x40、66x2等. 我的目标是获得一个条形图,在这里我将拥有10组条,每个值的每个值中的每个值三个栏.在栏上,我希望将其显示为值的中位数,并且我想计算置信区间并另外显示. 在此示例上没有一组酒吧,但我的意思是向您展示我希望如何显示置信区间.在e1 = errorbar(mean(data), ci95); ,但我有一个问题,它找不到任何 ci95 那么,在不安装或下载其他服务的情况下,还有其他有效的方法吗? 解决方案 我找到了Patrick Happel不起作用的答案,因为图形窗口(因此变量b)通过随后拨打errorbar的方式清除了.只需添加hold on命令就可以解决这个问题.为了避免混乱,这是一个新的答案,它重现了帕特里克的所有原始代码,再加上我的小调整: %% Old answer %Just to be safe, let's
0 2024-03-27
编程技术问答社区
Azure 可以计算回归的置信区间吗?
我计划尝试Azure ML Studio提供的不同回归方法来预测数字值.我想知道是否有可能将预测与相应的置信区间一起得到.换句话说,我希望回归函数不仅告诉我预期值(预测),还要告诉我它(模型)对此值的自信程度. Azure回归是否支持此功能? 添加 一个相关的问题.可以在"回归器"中构建估计概率密度函数吗?例如,对于给定情况(数据表中的一行),我不仅要将一个数字作为预测(预期值),而且还希望所有可能的值的概率. 解决方案 当前,您必须在Azure ML中使用R或Python进行置信区间
2 2024-03-25
编程技术问答社区
在R中多次运行'prop.test'。
我有一些数据,显示了一长串区域,每个地区的人口以及每个地区患有某种疾病的人数.我正在尝试显示每个比例的置信区间(但我不是测试比例在统计上是否不同). 一种方法是手动计算标准错误和置信区间,但我想使用诸如prop.test之类的内置工具,因为它具有一些有用的选项.但是,当我使用矢量使用prop.test时,它会在所有比例中运行卡方测试. 我已经用一段时间循环解决了此问题(请参阅下面的虚拟数据),但是我认为必须有更好,更简单的方法来解决此问题.会在这里应用工作吗?谢谢! dat
2 2024-03-02
编程技术问答社区
R中的双因素方差分析误差条图
我们正在为生物学学生教授一个统计课程,并试图将R作为计算和数据可视化平台.尽可能多地,我们想避免使用额外的软件包,并在R中做任何可怕的"幻想";该课程的重点是统计数据,而不是编程.尽管如此,我们还没有找到一种很好的方法来在R中生成错误栏图,以实现两个因素ANOVA设计.我们正在使用GGPLOT2软件包来制作图,尽管它确实具有生成95%CI误差键的内置stat_summary方法,但计算这些方法的方式可能并不总是正确的.在下面,我手工浏览了ANOVA的代码,并还通过手动计算95%CI(根据总剩余方差估算了标准误差,不仅是组内差异GGPLOT的摘要方法).最后,实际上有一个情节. 所以问题是...是否有一种更轻松/更快/更简单的方法来完成所有这些? # LIZARD LENGTH DATA island.1
12 2024-02-26
编程技术问答社区
当使用xgboost进行分类时,如何获得置信区间或预测分散度的测量?
在使用XGBoost进行分类时,如何获得置信区间或预测分散的度量? 因此,例如,如果XGBoost预测事件的概率为0.9,则如何获得对该概率的置信度? 也假定这种信心是异性恋的? 解决方案 要为XGBoost模型产生置信区间,您应该训练多种型号(您可以使用包装).每个模型都会为测试样本产生一个响应 - 所有响应将形成一个分布,您可以从中轻松地使用基本统计数据计算置信区间.您应该为每个测试样品产生响应分布.
6 2023-12-20
编程技术问答社区
平滑剂和置信区间的控制透明度
我在2年前提到了这个问题,ggplot:调整Stat_smooth Lines的透明(Alpha),不仅是置信区间的透明度 建议的第一种方法允许单独设置置信区间的alpha透明度: ggplot(head(airquality, 60), aes(x=Day, y=Temp, color=factor(Month))) + geom_point() + stat_smooth(method = "lm", se=TRUE, alpha=1.0) 第二种方法允许设置该行本身的alpha透明度,但是即使使用se=TRUE: ,您 lose pusitive ggplot(head(airquality, 60), aes(x=Day, y=Temp, color=factor(Month))) + geom_point() + geom_line(stat='smooth', method = "lm", se=TRUE, alpha=0.3) 我的问题:如何
4 2023-10-25
编程技术问答社区
Python Statsmodels: 使用SARIMAX与外生回归因子来获得预测的平均值和置信区间
我正在使用statsmodels.tsa.sarimax()来训练具有外源变量的模型.当模型经过外源变量训练以使返回的对象包含预测的均值和置信区间,而不仅仅是预测平均结果的数组时,是否有等效的GET_PREDICTION().预测()和预测方法采用外源变量,但仅返回预测的平均值. SARIMA_model = sm.tsa.SARIMAX(endog=y_train.astype('float64'), exog=ExogenousFeature_train.values.astype('float64'), order=(1,0,0), seasonal_order=(2,1,0,7), simple_differencing=False) model_results
42 2023-10-21
编程技术问答社区
在 R 中使用 ccf 进行交叉相关
我想在R中使用CCF来计算两组时间序列数据上的互相关.我的问题是,我怎么知道地块中的任何相关系数是否落在仪表板蓝线之外,而无需手动查看它?由于我有成千上万的时间序列数据要处理.预先感谢! 解决方案 这是计算置信区间的方法: res
0 2023-10-21
编程技术问答社区
带有置信区间的 scikit-learn-ROC 曲线
我能够使用scikit-learn获得ROC曲线 fpr,tpr,thresholds = metrics.roc_curve(y_true,y_pred, pos_label=1),其中y_true是基于我的黄金标准的值列表(即,对于阳性案例,0,0 0 0)和y_pred是相应的列表分数(例如0.053497243,0.008521122,0.101885263,0.101885263,0.012913795,0.0,0.0,0.042881547 [...]) 我试图弄清楚如何在该曲线中添加置信区间,但没有找到任何简单的方法来使用Sklearn. 解决方案 您可以引导ROC计算(替换示例y_true/y_pred y_true/y_pred的样本,从原始y_true/y_pred中删除,并每次重新计算roc_curve的新值)和以这种方式估算置信区间. 要考虑到火车测试分配所引起的可变性,您也可以使用 shufflesplit cv迭代器多次,适合火车拆分的模型
4 2023-10-21
编程技术问答社区
如何将应用一个函数的结果添加到一个现有的数据框中?
我正在尝试计算某些速率的置信区间. 我正在使用Tidyverse和Epitools来计算BYAR方法的CI. 我几乎可以肯定做错了. library (tidyverse) library (epitools) # here's my made up data DISEASE = c("Marco Polio","Marco Polio","Marco Polio","Marco Polio","Marco Polio", "Mumps","Mumps","Mumps","Mumps","Mumps", "Chicky Pox","Chicky Pox","Chicky Pox","Chicky Pox","Chicky Pox") YEAR = c(2011, 2012, 2013, 2014, 2015, 2011, 2012, 2013, 2014, 2015, 2011, 201
4 2023-10-21
编程技术问答社区
如何计算神经网络预测的置信度评分
我正在使用深层神经网络模型(以keras的方式实现)来做出预测.这样的东西: def make_model(): model = Sequential() model.add(Conv2D(20,(5,5), activation = "relu")) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Flatten()) model.add(Dense(20, activation = "relu")) model.add(Lambda(lambda x: tf.expand_dims(x, axis=1))) model.add(SimpleRNN(50, activation="relu")) model.add(Dense(1, activation="sigmoid")) model.compile(loss = "binary_crossentropy", optimiz
30 2023-10-16
编程技术问答社区
R中的置信区间(CI)模拟。如何?
我想知道如何通过r中的模拟检查从二项式测试获得的95%置信区间在15次试验中获得5个成功的置信区间,而 true P = .5 长期内有95%的"覆盖概率"? 这是使用R进行此类测试的95%CI(如果 true p = .5 ,如何证明以下CI在长期内具有95%的覆盖范围): as.numeric(binom.test(x = 5, n = 15, p = .5)[[4]]) # > [1] 0.1182411 0.6161963 (in the long-run 95% of the time, ".5" is contained within these # two numbers, how to show this in R?) 解决方案 类似的东西? fun
20 2023-09-29
编程技术问答社区