热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

统计模型参数估计与假设检验matlab实现

案例:孕妇吸烟与胎儿健康(见《数学模型》教材)matlab读取文件方式M1dlmread(.txt);%读取文件数据样本:

案例:孕妇吸烟与胎儿健康(见《数学模型》教材)

matlab读取文件方式

M1=dlmread('.txt');%读取文件

数据样本:
在这里插入图片描述

clear; clc; % 不吸烟与吸烟孕妇的新生儿体重和怀孕期的参数估计和假设检验
M1=dlmread('data0901.txt'); % 读数据文件
%筛选2-8列数据放入矩阵M
for j=1:7M(:,j)=M1(:,j+1);
end
k0=0;k1=0;
%数据量1236
for i=1:1236if M(i,7)==0; % 吸烟状况,0~不吸烟k0=k0+1;y0(k0)=M(i,1); % 不吸烟孕妇的新生儿体重x0(k0)=M(i,2); % 不吸烟孕妇的怀孕期z0(k0)=M(i,6); % 不吸烟孕妇的体重else if M(i,7)==1; % 吸烟状况,1~吸烟k1=k1+1;y1(k1)=M(i,1); % 吸烟孕妇的新生儿体重x1(k1)=M(i,2); % 吸烟孕妇的怀孕期z1(k1)=M(i,6); % 吸烟孕妇的体重endend
end % 估计、检验不吸烟与吸烟孕妇的新生儿体重
k0=0;k1=0;
for i=1:1236if M(i,7)==0; % 吸烟状况,0~不吸烟k0=k0+1;y0(k0)=M(i,1); % 不吸烟孕妇的新生儿体重x0(k0)=M(i,2); % 不吸烟孕妇的怀孕期else if M(i,7)==1; % 吸烟状况,1~吸烟k1=k1+1;y1(k1)=M(i,1); % 吸烟孕妇的新生儿体重x1(k1)=M(i,2); % 吸烟孕妇的怀孕期endend
end
k0, % 不吸烟孕妇数量
k1, % 吸烟孕妇数量
[y0m,s0,y0c]=normfit(y0), % 估计不吸烟孕妇新生儿体重的均值y0m,标准差s0和均值的置信区间y0c
[y1m,s1,y1c]=normfit(y1), % 估计吸烟孕妇新生儿体重的均值y1m,标准差s1和均值的置信区间y1c
[yh,pyh]=ttest2(y0,y1), % 检验 H0:y0m=y1m
[yhh,pyhh]=ttest2(y0,y1,0.05,-1),% 检验 H0:y0m>y1m
pause
% 估计、检验不吸烟与吸烟孕妇的新生儿体重低(小于2500=88.2盎司)的比例
n01=0;n02=0;
for i&#61;1:k0if y0(i)<88.2; % 不吸烟孕妇的新生儿体重低n01&#61;n01&#43;1;else if y0(i)<999; % 不吸烟孕妇的新生儿体重数据不缺失n02&#61;n02&#43;1;endend
end
n0&#61;n01&#43;n02,
q0&#61;n01/n0, % 估计不吸烟孕妇的新生儿体重低的比例
n11&#61;0;n12&#61;0;
for i&#61;1:k1if y1(i)<88.2; % 吸烟孕妇的新生儿体重低n11&#61;n11&#43;1;else if y1(i)<999; % 吸烟孕妇的新生儿体重数据不缺失n12&#61;n12&#43;1;endend
end
n1&#61;n11&#43;n12,
q1&#61;n11/n1, % 估计吸烟孕妇的新生儿体重低的比例
qs&#61;[q0*(1-q0)*(n0-1)&#43;q1*(1-q1)*(n1-1)]/(n1&#43;n0-2)*(1/n1&#43;1/n0);
qt&#61;(q1-q0)/sqrt(qs), % 两个0-1分布总体均值的检验 H0:q0&#61;q1
pause
% 估计、检验不吸烟与吸烟孕妇的怀孕期
j0&#61;0;
for i&#61;1:k0if x0(i)<999; % 不吸烟孕妇的怀孕期数据不缺失j0&#61;j0&#43;1;xx0(j0)&#61;x0(i);end
end
j1&#61;0;
for i&#61;1:k1if x1(i)<999; % 吸烟孕妇的怀孕期数据不缺失j1&#61;j1&#43;1;xx1(j1)&#61;x1(i);end
end
j0,j1,size(xx0)
[x0m,sx0,x0c]&#61;normfit(xx0), % 估计不吸烟孕妇怀孕期的均值x0m,标准差sx0和均值的置信区间x0c
[x1m,sx1,x1c]&#61;normfit(xx1), % 估计吸烟孕妇怀孕期的均值x1m,标准差sx1和均值的置信区间x1c
[xh,pxh]&#61;ttest2(xx0,xx1), % 检验 H0:x0m&#61;x1m
[xhh,pxhh]&#61;ttest2(xx0,xx1,0.05,-1),% 检验 H0:x0m>x1m
pause
% 估计、检验不吸烟与吸烟孕妇早产&#xff08;怀孕期小于37周&#xff09;的比例
m01&#61;0;
for i&#61;1:j0if xx0(i)<259; % 不吸烟孕妇怀孕期小于37周m01&#61;m01&#43;1;end
end
r0&#61;m01/j0, % 估计不吸烟孕妇怀孕期小于37周的比例
m11&#61;0;
for i&#61;1:j1if xx1(i)<259; % 吸烟孕妇怀孕期小于37周m11&#61;m11&#43;1;end
end
r1&#61;m11/j1, % 估计吸烟孕妇怀孕期小于37周的比例
rs&#61;[r0*(1-r0)*(j0-1)&#43;r1*(1-r1)*(j1-1)]/(j1&#43;j0-2)*(1/j1&#43;1/j0);
rt&#61;(r1-r0)/sqrt(rs), % 两个0-1分布总体均值的检验 H0:r0&#61;r1

推荐阅读
author-avatar
好好_haohao_100
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有