【问题标题】:Quantile transformation with SAS using z-scores?使用 z 分数与 SAS 进行分位数转换?
【发布时间】:2021-03-20 00:42:27
【问题描述】:

Given 是一个值 quantile_x(比如 42 欧元),它对应于(非标准化)高斯分布的 x-分位数(比如 99%)。我现在对与y-分位数相对应的值quantile_y 感兴趣(比如95%)。

我想简单地写

proc sql;
   create table want as
   select quantile_x
         ,%transform(quantile_x,x,y) as quantile_y
   from have;
quit;

对于给定的示例,%transform() 实际上应该简单地执行以下产品

quantile_y = quantile_x * 1.645 / 2.326

这些数字分别是 97% 分位数和 99% 分位数的 z-scores。不知何故,我无法弄清楚如何使用 SAS 获得这两个数字。

编辑:阅读SAS docu on probnorm,我似乎在追求它的反函数,因为probnorm(1.96)=0.9750021049

参考文献

【问题讨论】:

    标签: sas gaussian quantile


    【解决方案1】:

    使用quantile() 函数。

    data have;
      input x y actual;
      z_x = quantile('NORMAL',x);
      z_y = quantile('NORMAL',y);
      adjusted = actual * z_y / z_x;
    cards;
     .99 .95 2.32635
     .99 .95 42
    ;
    

    结果:

    Obs      x       y      actual      z_x        z_y      adjusted
    
     1     0.99    0.95     2.3264    2.32635    1.64485      1.6449
     2     0.99    0.95    42.0000    2.32635    1.64485     29.6963
    

    【讨论】:

    • 这比预期的要简单得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多