楼主: sailingyf
11450 11

分布拟合后,如何用sas求 该函数的分位数? [推广有奖]

  • 1关注
  • 4粉丝

副教授

91%

还不是VIP/贵宾

-

威望
0
论坛币
9717 个
通用积分
0.1200
学术水平
58 点
热心指数
58 点
信用等级
50 点
经验
5371 点
帖子
614
精华
0
在线时间
1378 小时
注册时间
2009-5-10
最后登录
2022-9-25

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用Proc UNIVARIATE 做好了一列数据的拟合分布。
拟合的方法在帖子:
https://bbs.pinggu.org/thread-1479465-1-1.html
如何用SAS求出在该拟合分布下的函数的分位数??

例如:使用正态分布 拟合了数据,得到了分布的参数:均值:0.4,标准差:0.2
然后如何用sas求出在该分布下的P25  P50  P75 等分位数?
即F(x1) = 0.25 , F(x2) = 0.5, F(x3) = 0.75 ...

目的是比较数据的真实分位数值与拟合分布得出的分位数值 的差距。

谢谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:分位数 如何用 Univariate Variate pinggu 如何

回帖推荐

ziyenano 发表于4楼  查看完整内容

(1)SAS output 其实是分模块的,你在proc步之前加上ods trace on;就能看见每个模块的label,name,path 等; 通常只要 ods output name=输出数据集名; 不过这只是最基本的用法,SAS ods系统很强大,你可以看看帮助文档。 (2)P值计算,不得不扯统计量,数据分布假设检验通常为 皮尔逊卡方检验,柯尔莫哥洛夫检验。前者使用卡方统计量,后者使用D统计量,在分布基础上计算P值; P值计算很烦,一下我也说不清,一般数理统计里 ...

ziyenano 发表于2楼  查看完整内容

univariate output中有分位数观测值与估计值的比较~ 如果觉得不够详细;可以调用估计的参数值,SAS可以计算分位数,以正态分布为例: data a; do i=1 to 100; a=rannorm(0)*10+5; output; end; run; ods select parameterestimates; proc univariate data=a ; histogram a/normal; ods output parameterestimates=para; data _null_; set para; if _n_=1 then call symput('mu',estimate); if _n_=2 then ca ...

本帖被以下文库推荐

沙发
ziyenano 发表于 2012-7-9 13:04:14 |只看作者 |坛友微信交流群
univariate output
univariate  output中有分位数观测值与估计值的比较~

如果觉得不够详细;可以调用估计的参数值,SAS可以计算分位数,以正态分布为例:
data a;
do i=1 to 100;
a=rannorm(0)*10+5;
output;
end;
run;
ods select parameterestimates;
proc univariate data=a ;
histogram a/normal;
ods output parameterestimates=para;

data _null_;
set para;
if _n_=1 then call symput('mu',estimate);
if _n_=2 then call symput('sig',estimate);

data Quartile;/*估计分位数*/
do q=0.025 to 0.975 by 0.025;
Quartile=probit(q)*&sig+μ
output;

end;
run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sailingyf + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
sailingyf 发表于 2012-7-9 13:27:35 |只看作者 |坛友微信交流群
ziyenano 发表于 2012-7-9 13:04
univariate  output中有分位数观测值与估计值的比较~

如果觉得不够详细;可以调用估计的参数值,SAS可 ...
谢谢! 我在Output里面看到了, 后来用
proc univariate;
histogram a/normal (percents = 5 10 15 20 25 30 35 40....);
这样可以在output里面输出estimate的分位值 和真实的分位值。

用你计算的方法也非常好,谢谢!
另外问两个问题:
1)如何将OUTPUT上的统计结果及分位值输出到sas中,或者输出到excel里? 用output 感觉很难实现阿?
2)如何计算 下面假设检验的P值?
原假设:数据x服从 该分布
备选假设:数据x不服从该分布

谢谢啦


使用道具

板凳
ziyenano 发表于 2012-7-9 13:52:39 |只看作者 |坛友微信交流群
sailingyf 发表于 2012-7-9 13:27
谢谢! 我在Output里面看到了, 后来用
proc univariate;
histogram a/normal (percents = 5 10 15 20 25 ...
(1)SAS output 其实是分模块的,你在proc步之前加上ods trace on;就能看见每个模块的label,name,path 等;
通常只要 ods output name=输出数据集名; 不过这只是最基本的用法,SAS ods系统很强大,你可以看看帮助文档。
(2)P值计算,不得不扯统计量,数据分布假设检验通常为 皮尔逊卡方检验,柯尔莫哥洛夫检验。前者使用卡方统计量,后者使用D统计量,在分布基础上计算P值;
P值计算很烦,一下我也说不清,一般数理统计里都有介绍,百度一下。P值通俗讲,就是度量根据统计量计算结果,拒绝或者接受原假设的程度。
另外,谢谢你的提醒histogram a/normal (percents = 5 10 15 20 25 30 35 40....),我还不清楚proc univariate有这个功能。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sailingyf + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

报纸
sailingyf 发表于 2012-7-9 14:01:52 |只看作者 |坛友微信交流群
看一下我这张图.  图像看起来非常符合正态分布。
normal.jpg
SAS output结果如下:


                               Parameter   Symbol   Estimate

                                   Mean        Mu       0.467856
                                   Std Dev     Sigma    0.193649


                           Goodness-of-Fit Tests for Normal Distribution

                     Test                  ---Statistic----   -----p Value-----

                     Kolmogorov-Smirnov    D     0.01143319   Pr > D     <0.010
                     Cramer-von Mises      W-Sq  0.30026701   Pr > W-Sq  <0.005
                     Anderson-Darling      A-Sq  3.10816502   Pr > A-Sq  <0.005


                                  Quantiles for Normal Distribution

                                             ------Quantile------
                                   Percent   Observed   Estimated

                                       1.0    0.04494     0.01736
                                       5.0    0.14636     0.14933
                                      10.0    0.21098     0.21968
                                      25.0    0.33080     0.33724
                                      50.0    0.46982     0.46786
                                      75.0    0.59886     0.59847
                                      90.0    0.72291     0.71603
                                      95.0    0.79499     0.78638
                                      99.0    0.89970     0.91835

KS对应的P-value这么小. P<0.01.

可是如果按照SAS Help里面写的
The Kolmogorov-Smirnov D statistic, the Anderson-Darling statistic, and the Cramér-von Mises statistic are based on the empirical distribution function (EDF). However, some EDF tests are not supported when certain combinations of the parameters of a specified distribution are estimated. See Table 3.62 for a list of the EDF tests available. You determine whether to reject the null hypothesis by examining the p-value that is associated with a goodness-of-fit statistic. When the p-value is less than the predetermined critical value (), you reject the null hypothesis and conclude that the data did not come from the specified distribution.

如果设定 0.05的置信标准,那就应该认为该分布不符合正态分布了。
是不是我的理解有问题,为什么p值这么小?


normal.bmp (1.96 MB)

normal.bmp

使用道具

地板
sailingyf 发表于 2012-7-9 14:14:07 |只看作者 |坛友微信交流群
ziyenano 发表于 2012-7-9 13:52
(1)SAS output 其实是分模块的,你在proc步之前加上ods trace on;就能看见每个模块的label,name,path ...
嗯,谢谢讲解!
1、ODS的方法我试试。 以前只是输出一些报表时,用ods。 proc tabulate等。。

2、P值我基本明白了,看来每个统计量后,都会计算一个p值,但是sas help或着百度上都说p值越大越好(应大于置信区间),可是是不是真的越大越好?请参考我上面给出的例子。

再次非常感谢!

使用道具

7
ziyenano 发表于 2012-7-9 15:04:47 |只看作者 |坛友微信交流群
sailingyf 发表于 2012-7-9 14:14
嗯,谢谢讲解!
1、ODS的方法我试试。 以前只是输出一些报表时,用ods。 proc tabulate等。。
以置信度为0.05来说,P<0.05拒绝原假设,P值越小,拒绝原假设的理由越充分,P>0.05接受原假设,更精确的说法为,没有充分的理由拒绝原假设。
所以P值大小是好是坏,都是根据原假设而定的;
这边原假设为:服从正态分布;
结果:P<0.05,拒绝原假设,数据不服从正态分布;
不过楼主希望原假设为真,自然是P值越大越好了。

使用道具

8
sailingyf 发表于 2012-7-9 16:56:49 |只看作者 |坛友微信交流群
ziyenano 发表于 2012-7-9 15:04
以置信度为0.05来说,P0.05接受原假设,更精确的说法为,没有充分的理由拒绝原假设。
所以P值大小是好是 ...
P值得理论我明白了,只是还是不能理解,为什么一个看起来很正态的数据,KS的d值也很小,但是得到的P值如此之小。
参考我上面给的图片和例子

使用道具

9
ziyenano 发表于 2012-7-9 20:54:59 |只看作者 |坛友微信交流群
sailingyf 发表于 2012-7-9 16:56
P值得理论我明白了,只是还是不能理解,为什么一个看起来很正态的数据,KS的d值也很小,但是得到的P值如此 ...
这个我也不清楚哎,或许假设检验的要求过于严格;
你画Q—Q图或者cdf图看看,粗略的检测一下,能说的过去就行。
proc univariate  data=a noprint;
qqplot  a/normal(mu= sigma=);
cdfplot a/normal(mu= sigma=);
run;

使用道具

10
jingju11 发表于 2012-7-10 21:49:07 |只看作者 |坛友微信交流群
sailingyf 发表于 2012-7-9 16:56
P值得理论我明白了,只是还是不能理解,为什么一个看起来很正态的数据,KS的d值也很小,但是得到的P值如此 ...
KS的D近似阈值和数据尺寸的平方根成反比。你有接近一万个数据,较小的D值未必反映较大的p(不反对正态分布),因为较小的阈值。
另外我观察到靠近中间值的右侧有较大的偏离。KS'D对中心附近的偏离有较高的灵敏度。
京剧
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
sailingyf + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-29 22:27