16-SAS 对泊松分布的概率计算与假设检验

作者

Simon Zhou

发布于

2025年6月8日

修改于

2025年6月8日

代码
%load_ext saspy.sas_magic

1 Poisson 分布

SAS 提供的 poisson(λ,n) 函数是 Poisson 分布的概率函数,其中 \(\lambda\) 为总体均数,n 为已知的发生情况,该函数根据 \(\lambda\) 和 n 计算得到来自 Poisson 分布的随机变量 ≤n 的概率。利用该函数可对服从 Poisson 分布的数据进行分析。

1.1 样本均数与总体均数比较(直接法)

代码
%%SAS
/*程序16-1*/
data poisson_1;
    n = 120;
    pai = 0.008;
    /* pai 为已知总体均数(率) */
    x = 4;
    lam = n*pai;
    /* lam 为根据样本例数和已知发生率计算出来的理论发生例数 */
    p= 1-poisson(lam,x-1);
    /* 为了计算≥4 的概率,先求出≤3 概率:poisson(lam,x-1) */
run;
proc print;
    var p;
run;
Using SAS Config named: winlocal
SAS Connection established. Subprocess id is 26024
SAS 输出

SAS 系统

观测 p
1 0.016633

1.1.1 程序说明

数据集中的变量 n 表示样本的例数,变量 pai 为已知的总体率,变量 x 为实际发生例数,变量 lam 为根据样本例数和已知发生率计算得到的理论发生例数,由于需计算发生例数 ≥4 的概率,所以用 poisson 函数可得到 ≤3 的累计概率,再用 1 减去该累计概率就能得到所求的概率。

1.1.2 结果说明

本例 P=0.016 633<0.05,说明样本与总体的差别有统计学意义,可以认为母亲吸烟会增大其子女的先天性心脏病的发病危险。

1.2 样本均数与总体均数比较(正态近似法 )

根据 Poisson分布的性质,当 λ>20 时,可用正态分布来近似。下例介绍用正态近似法完成样本均数和总体均数的比较。

代码
%%SAS
/*程序16-2*/
data poisson16_2;
    n =25000;
    x = 123;
    pai =0.003;
    lam =n*pai;
    u = (x-lam)/sqrt(lam);
    p = 1-probnorm(abs(u));
run;
proc print;
    var lam u p;
run;
SAS 输出

SAS 系统

观测 lam u p
1 75 5.54256 1.4904E-8

1.2.1 程序说明

数据集中的n为样本例数,x为发生例数,pai 为总体率,lam 为根据样本例数和总体率计算得到的理论发生例数,u 为检验统计量,p 为 u 所对应的概率值。

1.2.2 结果说明

\(u\) 检验的检验统计量的值为 5.542 56 所对应的 P 值为 \(1.490 4 \times 10^{-8}\) ,远远小于 0.05,说明样本率和总体率之间的差异有统计学意义,可认为有某种特殊群体的某问题的发生率高于一般人群。

1.3 两个样本均数比较(两个样本观察单位相同)

代码
%%SAS
/*程序16-3*/
data poisson16_3;
    x1 = 4;
    x2 = 7;
    u=(abs(x1-x2)-1)/sqrt(x1+x2);
    p= (1-probnorm(u))*2;
run;
proc print;
    var u p;
run;
SAS 输出

SAS 系统

观测 u p
1 0.60302 0.54649

1.3.1 程序说明

数据集中 x1 和x2 为两个样本均数,u 为检验统计量,由于所得的样本均数均<20,故在计算 u 值时采用校正公式,p 为 u 值所对应的概率。

1.3.2 结果说明

本例u检验的统计量 u=0.603 02,P=0.546 49>0.05,说明两个样本均数的差异无统计学意义,尚不能认为这两个样本所代表的总体之间有差异。

1.4 两个样本均数比较(两个样本观察单位不同)

某研究者为了分析一种罕见的非传染性疾病发病的地域差异,对甲地区连续观察了四年,发现有 32 人发病:对乙地区连续观察了三年,发现有 12人发病。假定甲、乙两地区在观察期内的人口构成相同,人口基数相近且基本不变,试作统计推断。

本例疾病的发病人数服从 Poisson 分布,但两个样本观察单位不同,对甲地区连续观察了四年(n1=4),而对乙地区只连续观察了三年(n2=3)。

1.4.1 程序说明

数据集中的 x1 和 x2 为样本发生例数,n1 和 n2 为观察年数,u 和 p 分别为 u 检验中的检验统计量和概率。

1.4.2 结果说明

本例u检验的 u=2.190 89,P=0.028 46<0.05,说明甲乙两地该种疾病发生的总体均数之间的差异具有统计学意义,可以认为该病的发病率存在地区差异。

代码
%%SAS
/*程序16-4*/
data poisson16_4;
    x1 = 32;
    x2 = 12;
    n1 = 4;
    n2 = 3;
    u= (x1/n1-x2/n2)/sqrt(x1/n1**2+x2/n2**2);
    p= (1-probnorm(abs(u)))*2;
run;
proc print;
    var u p;
run;
SAS 输出

SAS 系统

观测 u p
1 2.19089 0.028460