【问题标题】:get the observations for chi2 test获取 chi2 测试的观察结果
【发布时间】:2016-03-12 03:56:11
【问题描述】:

我们有一个数据集合,我们可以使用指定的分布曲线绘制直方图并获取箱的中心,使用:

[counts,centers]=hist(Data,14)
h=histfit(Data,14,'normal')

我们可以得到绘制曲线的100点XData和YData,使用:

h(2).XData
h(2).YData

我们如何找到对应于数据直方图 bin 中心的曲线的 YData(在不知道曲线方程的命令中)? 提前感谢

【问题讨论】:

  • 使用fitdist 将正态分布拟合到Data,并使用该分布的参数计算值。如果您不想这样做,您可以通过从使用interp1 绘制的曲线中插入XDataYData 来获得近似值。
  • @mikkola 非常感谢

标签: matlab


【解决方案1】:

我认为你可以使用 fitdistr

 %Generate data
r=randn(100,1); 
[counts,centers]=hist(r,20)   %r=Data in your case

%fit a Gaussian
pd=fitdist(r(:),'normal')

pd = 
  NormalDistribution

  Normal distribution
       mu = 0.0700439   [-0.111376, 0.251463]
    sigma =  0.914313   [0.802773, 1.06213]


x=-3:0.1:3;  
PDF=pdf(pd,x); %PDF is a vector of y values: it's our fit

%overplot
PDF=PDF/max(PDF); 
%scale to y axis
y=ylim;
PDF=PDF*y(2);

hold on
plot(x,PDF,'r-','LineWidth',2)
hold off

【讨论】:

  • 我想得到与给定 x 值对应的曲线上的 y 值来执行卡方检验
  • 我认为您可以在“计数”和“PDF”之间进行 chi2 测试。只需选择“PDF”的正确长度/点即可。不过,我不确定会得到这个问题..是这样吗?
  • 我不了解 chi2 测试(内置函数的)结果,我想使用常规步骤获取 chi2 值(sum((Observed-Expected)^2/(Expected) )) 这就是为什么我需要曲线值
  • 那么如果您的预期函数是高斯函数,只需使用“中心”作为变量。
  • @A_C直方图的中心是x值我需要曲线上对应的y值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多