我使用均值和标准偏差计算了一大堆z分数,现在我希望它们变成百分位数。在Objective-c中为iPhone应用程序执行此操作的方法是什么?
我只在高中学校的统计课程中使用z-score图表完成了这项工作。
我发现这个等式是我想要重现的那个:
这个帖子Cumulative Normal Distribution function in objective C似乎是一个答案,但我仍然不明白发生了什么。任何人都可以向我解释这是如何工作的?例如,什么是erfc函数?
0.5 * erfc(z-score * M_SQRT1_2);
会工作吗?
提前致谢!
答案 0 :(得分:2)
好的,我找到了解决方案。
第二个等式返回百分位数,其中x是z得分。
所以0.5 * (1 + erf(z_score*M_SQRT1_2))
是我的问题的答案
另外,erfc(x)= 1 - erf(x)
答案 1 :(得分:0)
我使用了微积分,但从来没有统计数据,而且我花了很长时间才能记住这些东西而不费力气。我可以提供的一件事是如何查找erfc功能。打开终端应用程序并输入“man erfc”,它将为您提供该功能的UNIX手册页。这是它显示的第一部分:
NAME erf,erfc - 错误函数运算符
概要 #include
double erf(double x); long double erfl(long double x); float erff(float x); double erfc(double x); long double erfcl(long double x); float erfcf(float x);
说明 这些函数计算x的误差函数。
The erf() function calculates the error function of x; where erf(x) = 2/sqrt(pi)*integral from 0 to x of exp(-t*t) dt. The erfc() function calculates the complementary error function of x; that is erfc() com- putes the difference of the error function erf(x) from 1.0. This is useful, since for large x use of erfc() avoids loss of precision due to cancellation.
特殊价值 erf(+ - 0)返回+ -0。
erf(+-infinity) returns +-1.