我使用以下代码用于使用r: 中的PRCOMP函数的前4列的主体组件分析. > prcomp(iris[1:4]) Standard deviations: [1] 2.0562689 0.4926162 0.2796596 0.1543862 Rotation: PC1 PC2 PC3 PC4 Sepal.Length 0.36138659 -0.65658877 0.58202985 0.3154872 Sepal.Width -0.08452251 -0.73016143 -0.59791083 -0.3197231 Petal.Length 0.85667061 0.17337266 -0.07623608 -0.4798390 Petal.Width 0.35828920 0.07548102 -0.54583143 0.7536574 如何在R中获得这些值的
以下是关于 confidence-interval 的编程技术问答
我试图将PCA应用于多变量分析,并在Python中使用Hotelling T2 Profucer Ellipse绘制前两个组件的分数图.我能够获得散点图,我想在散点图中添加95%的信心椭圆.如果有人知道如何在Python中完成,那将是很棒的. 预期输出的样本图片: 解决方案 这让我很烦r"> pca和hotelling的t^2,用于python中的r (并使用ggbiplot r软件包中的某些源代码) 使用一些源代码 from sklearn import decomposition from sklearn.preprocessing import StandardScaler import numpy as np import matplotlib.pyplot as plt import scipy, random #Generate data and fit PCA random.seed(1) data = np.array(np.random.normal
我想用Bootstrap置信区间来计算数据框架的某些子集;最终目标是用自举置信区间作为误差条产生均值的条形图.我的数据框架看起来像这样: ATG12 Norm ATG5 Norm ATG7 Norm Cancer Stage 5.55 4.99 8.99 IIA 4.87 5.77 8.88 IIA 5.98 7.88 8.34 IIC 我感兴趣的子集是规范柱和癌症阶段的每种组合.我设法使用: 制作了一张均值表 df.groupby('Cancer Stage')['ATG12 Norm', 'ATG5 Norm', 'ATG7 Norm'].mean() 但我需要计算自举置信区间,以用作此类方法的每种方法,都使用此处描述的方法: http://www.randalolson.com/20
我正在尝试计算大数据集中的"力"列的均值和置信区间(95%).我需要通过分组不同的"类"来使用Groupby函数. 当我计算平均值并将其放入新的数据框中时,它为我提供了所有行的NAN值.我不确定我是否走正确的方式.有什么更简单的方法可以做到吗? 这是示例数据框: df=pd.DataFrame({ 'Class': ['A1','A1','A1','A2','A3','A3'], 'Force': [50,150,100,120,140,160] }, columns=['Class', 'Force']) 计算置信区间,我做的第一步是计算平均值.这就是我使用的: F1_Mean = df.groupby(['Class'])['Force'].mean() 这给了我所有行的NaN值. 解决方案 在25-OCT-2021上进行更新: @a-donda指出,95%应基于平均值
我有一个1维数据的数据: a = np.array([1,2,3,4,4,4,5,5,5,5,4,4,4,6,7,8]) 我想获得68%的置信区间(即: 1 sigma ). from scipy import stats import numpy as np mean, sigma = np.mean(a), np.std(a) conf_int = stats.norm.interval(0.68, loc=mean, scale=sigma) 但在conf_int = stats.norm.interval(0.68, loc=mean, scale=sigma / np.sqrt(len(a))) 也就是说,Sigma除以样本大小的平方根:np.sqrt(len(a)). 问题是:哪个版本是正确的? 解决方案 的68%置信区间来自正态分布 平均MU和STD偏差Sigma为 stats.norm.interval(0.68, loc=
我正在尝试在某些x,y数据上获得指数拟合的置信区间(可用在这里 ).这是我必须找到最适合数据的MWE: from pylab import * from scipy.optimize import curve_fit # Read data. x, y = np.loadtxt('exponential_data.dat', unpack=True) def func(x, a, b, c): '''Exponential 3-param function.''' return a * np.exp(b * x) + c # Find best fit. popt, pcov = curve_fit(func, x, y) print popt # Plot data and best fit curve. scatter(x, y) x = linspace(11, 23, 100) plot(x, func(x, *popt), c='r') show(
我有示例数据,我想为其计算一个置信区间,假设分布不正常并且未知.基本上,看起来分布是帕累托. 正态分布的答案: 从样本数据中计算一个置信区间 正确的置信度间隔的正确方法 /p> 解决方案 如果您不知道基本分布,那么我的第一个想法是使用引导程序: https://en.wikipedia.org/wiki/bootstrappapping_(statistics) 在伪代码中,假设x是包含您数据的numpy阵列: import numpy as np N = 10000 mean_estimates = [] for _ in range(N): re_sample_idx = np.random.randint(0, len(x), x.shape) mean_estimates.append(np.mean(x[re_sample_idx])) mean_estimates现在是分布平均值的10000估计列表.以这10000个值的第2.5
我有示例数据,我想计算一个正态分布的置信区间. 我已经找到并安装了Numpy和Scipy软件包,并获得了numpy返回平均值和标准偏差(numpy.mean(数据),数据为列表).对获得样本置信区间的任何建议将不胜感激. 解决方案 import numpy as np import scipy.stats def mean_confidence_interval(data, confidence=0.95): a = 1.0 * np.array(data) n = len(a) m, se = np.mean(a), scipy.stats.sem(a) h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1) return m, m-h, m+h 您可以这样计算. 其他解决方案 在这里,Shasan代码的缩短版本,计算数组平均值的95%置信区间a: impor
我在最新版本的R中从GLM计算或置信区间有问题,但是我以前没有这个问题.使用family="binomial"的任何GLM,无论模型多么简单,它都可以轻松提取摘要和EXP(COEF(模型)),但是当我尝试提取confint()或exp(confint(model))时, "等待分析完成……"消息显示出来,什么也没发生(我等待了10分钟,然后取消了该过程,这通常只需几秒钟即可在我的计算机上).有什么想法可能会绊倒这个功能吗?我在multiple datasets和变量上尝试过,结果相同.有什么想法为什么要花这么长时间/无法完成? 解决方案 好吧,出于某些未知原因,指定exp(confint.default(model))会立即解决此问题.
首先,这是我的数据框架: > df.combined MLSupr MLSpred MLSlwr BPLupr BPLpred BPLlwr 1 1.681572 1.392213 1.102854 1.046068 0.8326201 0.6191719 2 3.363144 2.784426 2.205708 2.112885 1.6988250 1.2847654 3 5.146645 4.232796 3.318946 3.201504 2.5999694 1.9984346 4 6.930146 5.681165 4.432184 4.368555 3.6146180 2.8606811 5 8.713648 7.129535 5.545422 5.480557 4.5521112 3.6236659 6 10.497149 8.577904 6.6586
我正在使用sns.lineplot在图中显示置信区间. sns.lineplot(x = threshold, y = mrl_array, err_style = 'band', ci=95) plt.show() 我得到以下图,该图没有显示置信区间: 有什么问题? 解决方案 每个X值可能只有一个观察值. 如果每个X值只有一个观察值,则没有置信区间可以绘制. 每x值执行引导,但是要生效需要多个假设. ci:与估算器聚集时要绘制的置信区间的大小. 'sd'意味着绘制数据的标准偏差.设置为None将跳过引导. 请注意以下示例来自 这个问题指定sns.lineplot,但是此答案适用于任何 数据 import seaborn as sns # load data flights = sns.load_dataset("flights") year month passengers 0 1949 Jan 11
我想在R中计算一个单尾,非参数引导的皮尔森相关测试的95%的自举置信区间.但是,boot.ci仅给出两尾的顺式.如何计算一尾bootstrap顺式? 这是我使用cor.test进行单尾的Pearson相关测试的代码. (其中包括boot.ci在末尾返回两尾CI,不需要一尾CI.输出作为评论(#)进行比较.) # Load boot package library(boot) # Make the results reproducible set.seed(7612) # Define bootstrapped Pearson correlation function and combine output into vector bootCorTest
在R上,我使用Boostrap方法来获取相关系数估计和置信区间. 我想,为了获得p值,我可以计算不包含零的置信区间的比例.但这不是解决方案. 在这种情况下如何获得P值? 我正在使用cor.test获得系数估计. cor.test也可能会给我每个测试中的p值.但是我如何获得自举p值? 非常感谢! 在一个示例下: n=30 data = matrix (data = c (rnorm (n), rnorm (n),rnorm (n), rpois(n,1), rbinom(n,1,0.6)), nrow = n, byrow = F) data= as.data.frame(data) z1 = replicate( Brep, sample(1:dim(data)[1], dim(data)[1], replace = T)) res = do.call ( rbind, apply(z1, 2, function(x){ res=cor.test(d