期中项目细节

数据挖掘在艾滋病疗法评价问题中的应用
                            ——MID-PROJECT
张凯月2012092010005     文克春2012092010008    邱兴阳2012092010010

一、问题描述
艾滋病是人类目前最严重的传染病之一。目前尚未有治愈方法，现有的治疗方法不仅成本高还有极大毒副作用，世界各国科学家都在积极寻找更好的疗法
现在得到了美国艾滋病医疗试验机构ACTG公布的两组数据。 ACTG320（见附件1）是同时服用zidovudine（齐多夫定），lamivudine（拉美夫定）和indinavir（茚地那韦）3种药物的300多名病人每隔几周测试的CD4和HIV的浓度（每毫升血液里的数量）。试预测病人合适的停药时间。
二、数据整理与分析
   观察附件1中的数据可知，300多名病人中大部分测得的CD4浓度的同时也测得了HIV浓度，少数病人在某阶段测得了CD4浓度却缺少HIV浓度，为了正确的反应CD4浓度和HIV之间的关系，我们将缺少HIV浓度的周数剔除得到“整理好的附件1的数据.xls”整理数据的MATLAB程序如下：
%首先将附件1中的数据导入到matlab中，命名为aids.mat
load aids;
A=aids;
%读取数据的行数和列数并生成一个空向量
[row,col]=size(A);
x=[];
%筛选不含数据的空元素，并用向量x记录其行号
for i=1:row
    if isnan(A(i,4))
        x=[x i];
    end
end
%将含有空元素的行删除得到最终需要的数据集
A(x,:)=[]
  然后对整理好的数据集进行散点图作图，观察CD4浓度和HIV浓度与时间（周）之间的关系。作图的MATLAB程序如下：
   %将上诉整理好的数据集命名为新的aids.mat
load aids;
A=aids;
%作出CD4与周数之间的散点图，散点为红色
subplot(121);
x=A(:,2);
y=A(:,3);
plot(x,y,'.r');
xlabel('Time/week');
ylabel('CD4 count');
title('the scatter of CD4 with time');
%作出HIV和周数之间的散点图，散点图为蓝色
subplot(122);
x=A(:,4);
y=A(:,5);
scatter(x,y,'.b');
xlabel('Time/week');
ylabel('HIV');
title('the scatter of HIV with time');
结果如图：

图1：CD4、HIV浓度与时间（周数）之间的散点关系图。

查阅相关资料可知。人体内有两种主要的T淋巴细胞，其中CD4代表T辅助细胞，是HIV感染的主要靶细胞，而其本身又是免疫反应的中心细胞。人体感染了HIV细胞后，涉及的主要病理过程为免疫系统的损害，主要表现为CD4细胞的丢失，绝对数量的减少，因此CD4淋巴细胞计数作为之间测定免疫功能的方法，是提供HIV感染病人免疫系统损害状况最明确的指标，同时，他也是临床上确定秉承进展，疾病分期和治疗时机，判断治疗效果和合并症最重要的指标。
用SPSS软件对HIV和CD4浓度做相关性分析得出结果为下表

表1：CD4与HIV相关性分析结果
  
从表1中可看出HIV与CD4浓度呈现负相关关系，因此CD4浓度与HIV浓度对药物疗效的反映情况基本相同。这里我们选取CD4浓度作为药物疗效评价的指标。
观察图1得出，观测点集中在第0、3、4、5、7、8、9、23、24、25、39、40、41周。我们的目的是找到病人间普遍存在的药效规律从而找到一个合理地停药时间，所以我们采用取CD4浓度平均值的方式来进行研究。又因为在艾滋病不同时期进行治疗的效果有很大的不同，所以根据初始CD4浓度，我们病人分为四类，分别统计这0、4、8、24、40周5个治疗周期患病人数及病人的CD4 平均细胞浓度增加量的平均值。具体分类和统计结果见表2.（这个分类数据较少，且灵活，故采用EXCEl数据自动筛选分类的方法来计算不同类的病人的CD4浓度平均值，而没有采用MATLAB程序进行分类求平均值）

表2：初始浓度不同的病人在不同周数的CD4浓度平均值
	初始CD4<50	初始CD4：50-100	初始CD4：100-200	初始CD4：>200
周数	CD4浓度均值	CD4浓度均值	CD4浓度均值	CD4浓度均值
0	20.80	74.30	142.32	222.80
4	74.90	126.30	188.71	247.10
8	93.36	161.86	210.175	268.87
24	117.55	182.00	254.83	272.67
40	150.28	206.66	264.00	273.00

根据表2得到的周数与CD4浓度的表格，我们采用数据拟合的方式进行分析，MATLAB程序如下：
%以CD4浓度<50为例，调用曲线拟合工具箱进行曲线拟合
x=[0,4,8,24,40];
y=[20.80,74.90,93.36,117.55,150.28];
cftool
经过多次拟合得到结果如下：
1、CD4浓度<50
     f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
       a =        84.5  (39.66, 129.3)
       b =      0.0143  (-0.001549, 0.03014)
       c =      -63.78  (-117.4, -10.16)
       d =     -0.3814  (-1.284, 0.5209)
 f(x) = 84.5*exp(0.0143*x) + -63.78*exp(-0.3814*x)

Goodness of fit:
  SSE: 5.868
  R-square: 0.9994
  Adjusted R-square: 0.9975
  RMSE: 2.422

2、CD4浓度50~100
     f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
       a =         161  (-101.7, 423.6)
       b =    0.006069  (-0.04222, 0.05436)
       c =      -87.52  (-365.8, 190.7)
       d =      -0.236  (-1.691, 1.219)
f(x) = 161 *exp(0.006069*x) -87.52 *exp(-0.236*x)

Goodness of fit:
  SSE: 76.64
  R-square: 0.9928
  Adjusted R-square: 0.9713
  RMSE: 8.754

3、CD4浓度：100~200
General model Exp2:
     f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
       a =       253.3  (-45.38, 551.9)
       b =    0.001156  (-0.02921, 0.03152)
       c =      -110.1  (-403.9, 183.6)
       d =     -0.1183  (-0.5297, 0.2931)
 f(x) = 253.3*exp(0.001156*x)-110.1*exp(-0.1183*x)


Goodness of fit:
  SSE: 17.1
  R-square: 0.9983
  Adjusted R-square: 0.9931
  RMSE: 4.136

4、CD4浓度>200
General model Exp2:
     f(x) = a*exp(b*x) + c*exp(d*x)
Coefficients (with 95% confidence bounds):
       a =       280.6  (-0.9418, 562.2)
       b =  -0.0007558  (-0.02973, 0.02822)
       c =      -58.69  (-343.2, 225.8)
       d =     -0.1771  (-1.492, 1.138)
f(x) = 280.6*exp(-0.0007558 *x) +-58.69*exp(-0.1771*x)

Goodness of fit:
  SSE: 37.3
  R-square: 0.9805
  Adjusted R-square: 0.9219
  RMSE: 6.107

其中R-square （方程确定系数）可以一定程度上，反映拟合效果的好坏。0~1之间，越接近1，表示方程的变量对y的解释能力越强。
   对得到的 拟合结果进行作图比较，MATALB程序如下：
%在同一图中分别作出四种不同初始浓度的拟合曲线结果进行比较
x=[0,4,8,24,40];
y1=[20.80,74.90,93.36,117.55,150.28];
plot(x,y1,'b*')
hold on
x=0:0.1:40;
y11 = 84.5*exp(0.0143*x)-63.78*exp(-0.3814*x);
plot(x,y11,'b')
hold on
x=[0,4,8,24,40];
y2=[74.30,126.30,161.86,182.00,206.66];
plot(x,y2,'ro')
hold on
x=0:0.1:40;
y22 = 161 *exp(0.006069*x) -87.52 *exp(-0.236*x);
plot(x,y22,'r')
hold on
x=[0,4,8,24,40];
y3=[142.32,188.71,210.175,254.83,264.00];
plot(x,y3,'g+')
hold on
x=0:0.1:40;
y33 = 253.3*exp(0.001156*x)-110.1*exp(-0.1183*x);
plot(x,y33,'g')
hold on
x=[0,4,8,24,40];
y4=[222.80,247.10,268.87,272.67,273.00];
plot(x,y4,'k^')
hold on
x=0:0.1:40;
y44 = 280.6*exp(-0.0007558 *x) +-58.69*exp(-0.1771*x);
plot(x,y44,'k')
xlabel('时间/周')
ylabel('CD4浓度')
title('CD4浓度随时间关系的曲线拟合图')


















      图2：不同CD4浓度随时间关系的曲线拟合图