www.gusucode.com > 关于海航matlab和lingo的训练题 > 大作业第13题.m

    %13. 根据表4 某猪场25头育肥猪4个胴体性状的数据资料,试进行瘦肉量y 对眼肌面
%积(x1)、腿肉量(x2)、腰肉量(x3)的多元回归分析。
%表4 某养猪场数据资料
%序号 瘦肉量 眼肌面积  腿肉量   腰肉量   序号 瘦肉量  眼肌面积   腿肉量  腰肉量
%     y(kg)  x1(cm2)  x2(kg)  x3(kg)        y(kg)  x1(cm2)   x2(kg)  x3(kg)
%1    15.02  23.73    5.49    1.21     14   15.94   23.52    5.18    1.98
%2    12.62  22.34    4.32    1.35     15   14.33   21.86    4.86    1.59
%3    14.86  28.84    5.04    1.92     16   15.11   28.95    5.18    1.37
%4    13.98  27.67    4.72    1.49     17   13.81   24.53    4.88    1.39
%5    15.91  20.83    5.35    1.56     18   15.58   27.65    5.02    1.66
%6    12.47  22.27    4.27    1.50     19   15.85   27.29    5.55    1.70
%7    15.80  27.57    5.25    1.85     20   15.28   29.07    5.26    1.82
%8    14.32  28.01    4.62    1.51     21   16.40   32.47    5.18    1.75
%9    13.76  24.79    4.42    1.46     22   15.02   29.65    5.08    1.70
%10   15.18  28.96    5.30    1.66     23   15.73   22.11    4.90    1.81
%11   14.20  25.77    4.87    1.64     24   14.75   22.43    4.65    1.82
%12   17.07  23.17    5.80    1.90     25   14.35   20.04    5.08    1.53
%13   15.40  28.57    5.22    1.66
%要求
%(1)画出散点图y与x1,y与x2,y与x3,并观察y与x1,x2,x3的关系;
%(2)求y关于x1,x2,x3,的线性回归方程
%    y=a0+ a1*x1 + a2*x2 + a3*x3;并求出a0,a1,a2,a3的值;
%(3)对上述回归模型和回归系数进行检验(要写出相关的统计量);
%(4)试建立y关于x1,x2,x3,的二项式回归模型,并根据T统计量、F统计量和剩余标
%     准差等指标选择一个较好的模型。

%(1)
close all
clear all
clc
load data.txt
y=data(:,1);
x1=data(:,2);
x2=data(:,3);
x3=data(:,4);

plot(x1,y,'ro');
xlabel('x1'),ylabel('y')
hold on
plot(x2,y,'go');
xlabel('x2'),ylabel('y')
hold on
plot(x3,y,'ko');
xlabel('x3'),ylabel('y')
%(2)
%x=[ones(24,1),x1,x2,x3];
%figure(4)
%[b,bint,r,rint,stats]=regress(y,x);
%b,bint,stats
%b,bint 为回归系数估计值和它们的置信区间
%r,rint 为残差(向量)及其置信区间,stats 是用于检验回归模型的统
%计量,有四个数值,第一个是R^2,第二个是F,第三个
%是与F对应的概率p,p<α 拒绝H0,回归模型成立,第四个是残差的方差s^2

%x=data(:,2:4);
%y=data(:,1);
%stepwise(x,y,[1:3])

%x=[ones(23,1),x2,x3];
%figure(4)
%[b,bint,r,rint,stats]=regress(y,x);
%b,bint,stats


%x=[x2,x3];
%figure(4)
%[b,bint,r,rint,stats]=regress(y,x);
%b,bint,stats
%rcoplot(r,rint)
xx=[x1,x2,x3];
rstool(xx,y)