数学模型9.1代码记录

clear; clc;  % 不吸烟与吸烟孕妇的新生儿体重和怀孕期的参数估计和假设检验
M1=dlmread('data0901.txt');  % 读取有分隔符的ASCII数据文件
M=M1(:,2:end);%将纯数据读出来
k0=0;k1=0; %k0记录不吸烟,k1记录吸烟
for i=1:1236
    if 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); % 吸烟孕妇的怀孕期
       end
    end
end 
% k0+k1=1226,有10名孕妇吸烟状况=9,缺失
% 新生儿体重无缺失
[y0m,s0,y0c]=normfit(y0); % 估计不吸烟孕妇新生儿体重y0的均值y0m,标准差s0和均值的置信区间y0c
                           % 显著水平α(输入参数2),缺省时默认为0.05,即置信度为95%
[y1m,s1,y1c]=normfit(y1); % 估计吸烟孕妇新生儿体重元有的均值y1m,标准差s1和均值的置信区间y1c
[yh,pyh]=ttest2(y0,y1,'tail','right'); % 检验 H0:y0m<=y1m, H1:y0m>y1m
                        % T检验,主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布资料
                        % ttest 两个样本数量一致,ttest2 不一致
                        % tail 备择假设右侧检验
                        % yh=0 接受原假设H0,yh=1,拒绝H0
                        % pyh p值(H0真时,得到观察值的概率), p>Alpha 时,接受原假设 H0 ; p<=Alpha 时,拒绝H0
% 估计、检验不吸烟与吸烟孕妇的新生儿体重低(小于2500克=88.2盎司)的比例
n01=0;
for i=1:k0
    if y0(i)<88.2  % n01 不吸烟孕妇的新生儿体重低
        n01=n01+1;
    end
end
q0=n01/k0; % 估计不吸烟孕妇的新生儿体重低的比例
n11=0;
for i=1:k1
    if y1(i)<88.2 % 吸烟孕妇的新生儿体重低
        n11=n11+1;
    end
end
q1=n11/k1; % 估计吸烟孕妇的新生儿体重低的比例
% 孕妇吸烟可能导致新生儿体重低
qs=[q0*(1-q0)*(k0-1)+q1*(1-q1)*(k1-1)]/(k1+k0-2)*(1/k1+1/k0);
qt=(q1-q0)/sqrt(qs); % 两个0-1分布总体均值的检验 H0:q0=q1
%% 怀孕期均值的假设检验(H0:不吸烟早孕,H1:吸烟早孕)
 % 怀孕期均值皆有缺失值
j0=0;
for i=1:k0
    if x0(i)<999; % 不吸烟孕妇的怀孕期数据不缺失
        j0=j0+1;
        xx0(j0)=x0(i);
    end
end
j1=0;
for i=1:k1
    if x1(i)<999; % 吸烟孕妇的怀孕期数据不缺失
        j1=j1+1;
        xx1(j1)=x1(i);
    end
end
[x0m,sx0,x0c]=normfit(xx0), % 估计不吸烟孕妇怀孕期的均值x0m,标准差sx0和均值的置信区间x0c
[x1m,sx1,x1c]=normfit(xx1), % 估计吸烟孕妇怀孕期的均值x1m,标准差sx1和均值的置信区间x1c
[xh,pxh]=ttest2(xx0,xx1), % 检验 H0:x0m=x1m
[xhh,pxhh]=ttest2(xx0,xx1,0.05,'right'),% 检验 H0:x0m>x1m
%% 早产率的假设检验
% 估计、检验不吸烟与吸烟孕妇早产(怀孕期小于37周)的比例
m01=0;
for i=1:j0
    if xx0(i)<259 % 不吸烟孕妇怀孕期小于37周
        m01=m01+1;
    end
end
r0=m01/j0, % 估计不吸烟孕妇怀孕期小于37周的比例
m11=0;
for i=1:j1
    if xx1(i)<259 % 吸烟孕妇怀孕期小于37周
        m11=m11+1;
    end
end
r1=m11/j1,  % 估计吸烟孕妇怀孕期小于37周的比例
rs=[r0*(1-r0)*(j0-1)+r1*(1-r1)*(j1-1)]/(j1+j0-2)*(1/j1+1/j0);  % 0-1分布 % 两样本联合估计的方差 % 两独立样本均值的T检验
rt=(r1-r0)/sqrt(rs), % 两个0-1分布总体均值的检验 H0:r0=r1  

你可能感兴趣的:(数学建模,matlab,数学建模)