如何用matlab作正态分布的检验?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab作正态分布的检验?相关的知识,希望对你有一定的参考价值。

有一组数,希望能画出频数分布直方图,然后用matlab检验它是否服从正态分布,求程序(包括画直方图和正态检验)
最好能够写出注释

参考技术A a = [];
figure(1);
hist(a); %作频数直方图
figure(2);
normplot(a); %分布的正态性检验
[muhat,sigmahat,muci,sigmaci]= normfit(a) %参数估计 均值,方差,均值的0.95置信区间,方差的0.95置信区间
[h,sig,ci] = ttest(a,muhat) %假设检验
% 看均值、方差是否在置信区间内
% ttest,h为0说明均值是muhat本回答被提问者和网友采纳
参考技术B A=A(:);
alpha=0.05;
[mu,sigma]=normfit(A);
p1=normcdf(A,mu,sigma);
[H1,s1]=kstest(A,[A,p1],alpha);
n=length(A);
if H1==0
disp('该数据服从正态分布。')
end

假设检验总结以及如何用python进行假设检验(scipy)

几种常见的假设检验总结如下:

假设检验名称

Z检验

t检验

 χ2检验

F检验

原假设 

   H0: μ≥μ0        H0: μ≤μ0        H0: μ=μ0  (样本和总体均值)

   H0: μ12≥0   H0: μ12≤0   H0: μ12=0 (两总体均值)

   H0: μd≥0      H0: μd≤0     H0: μd=0 (两总体前后差值均值)

H0: σ2≥σ02        H0: σ2≤σ02        H0: σ202  (样本和总体方差)

        H0: σ12≤σ22        H0: σ1222  (两总体方差,即方差齐性)

H0: 两类别型变量相互独立  (独立性检验)

H0: 总体服从某个概率分布  (拟合优度检验)

H0: 总体均值相等  (方差分析)--- 通常用于三个及以上的总体

备择假设

   Ha: μ<μ0       Ha: μ>μ0        Ha: μ≠μ0  (样本和总体均值)

Ha: μ12<0  Ha: μ12>0   Ha: μ12≠0 (两总体均值)

Ha: μd<0     Ha: μd>0     Ha: μd≠0 (两总体前后差值均值)

 Ha: σ202        Ha: σ202        Ha: σ2≠σ02  (样本和总体方差)

              Ha: σ1222        Ha: σ12≠σ22  (两总体方差)

Ha: 两类别型变量不独立  (独立性检验)

Ha: 总体不服从某个概率分布  (拟合优度检验)

Ha: 总体均值不全相等  (方差分析)

检验类型

     左尾        右尾        双尾

  左尾            右尾          双尾

检验先决条件

 σ已知,样本量大于等于30

  σ未知,样本量小于30(当总体服从正态分布时),样本量大于等于30(当总体不服从正态分布时)

总体近似正态分布(两总体方差)

总体近似正态分布,总体方差相似(方差分析)

检验统计量

技术图片(样本和总体均值)

 技术图片(两总体均值)

 

技术图片(样本和总体均值)

技术图片(两总体均值,

独立样本,两总体方差不相等)

技术图片(两总体均值,

独立样本,两总体方差相等)

技术图片(两总体前后差值均值,

配对样本)

技术图片(样本和总体方差)

技术图片(独立性检验)

技术图片(拟合优度检验)

技术图片(两总体方差)

技术图片(单因素方差分析)

决策方法

临界值法:如果z ≤ -zα,则拒绝原假设(左尾)

          如果z ≥ zα,则拒绝原假设(右尾)

如果z ≤ -zα/2 或 z ≥ zα/2,则拒绝原假设(双尾)

(如果置信区间不包含μ0,则拒绝原假设)

p值法:如果p值≤α,则拒绝原假设

临界值法:如果t ≤ -tα,则拒绝原假设(左尾)

          如果t ≥ tα,则拒绝原假设(右尾)

如果t ≤ -tα/2 或 t ≥ tα/2,则拒绝原假设(双尾)

(如果置信区间不包含μ0,则拒绝原假设)

p值法:如果p值≤α,则拒绝原假设

临界值法:如果χ2 ≤ χ2(1-α),则拒绝原假设(左尾)

          如果χ2 ≥ χ2α,则拒绝原假设(右尾)

如果χ2 ≤ χ2(1-α) 或 χ2 ≥ χ2α,则拒绝原假设(双尾)

(如果置信区间不包含σ02,则拒绝原假设)

p值法:如果p值≤α,则拒绝原假设

临界值法:如果F ≥ Fα,则拒绝原假设(右尾)

如果F ≥ Fα/2,则拒绝原假设(双尾)

p值法:如果p值≤α,则拒绝原假设

 

注:p值法可以显示实际显著性,而临界值法不能。

python命令

 

1,单样本t检验scipy.stats.ttest_1samp (a, popmean)

返回:t检验统计量的具体值和相应的p值(双尾)

2,配对t检验scipy.stats.ttest_rel(a,b)

返回:t检验统计量的具体值和相应的p值(双尾)

3,独立样本t检验

scipy.stats.ttest_ind (a, b, equal_var=True)  scipy.stats.ttest_ind_from_stats (mean1, std1,nobs1,mean2, std2,nobs2, equal_var=True) --- 方差相等

scipy.stats.ttest_ind(a, b, equal_var=False)  scipy.stats.ttest_ind_from_stats (mean1, std1,nobs1,mean2,std2,nobs2, equal_var=False)--- 方差不相等

返回:t检验统计量的具体值和相应的p值(双尾)

1,拟合优度检验scipy.stats.chisquare (f_obsf_exp=Noneddof=0)

返回:卡方统计量的具体值和相应的p值

2,独立性检验scipy.stats.chi2_contingency (observed, correction=True)

返回:卡方统计量的具体值,相应的p值,自由度, 期望频率

1,方差齐性检验scipy.stats.levene (sample1,sample2,...)

返回:F统计量的具体值和相应的p值 

2,单因素方差分析scipy.stats.f_oneway (sample1,sample2,...)

 返回:F统计量的具体值和相应的p值 

 

其他检验:

1,正态性检验:scipy.stats.shapiro(x)

 

返回:检验统计量的具体值和相应的p值

 

以上是关于如何用matlab作正态分布的检验?的主要内容,如果未能解决你的问题,请参考以下文章

如何用matlab画正态分布曲线

如何用matlab定义正态分布函数

如何用MATLAB做数据正态分布拟合图像

如何用matlab进行参数以及非参数概率密度估计

如何用matlab生成高斯分布随机数

如何用matlab建立二维随机分布图像,类似这样的,谢谢