失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python中偏度和峰度的计算公式

python中偏度和峰度的计算公式

时间:2024-04-29 00:14:57

相关推荐

python中偏度和峰度的计算公式

最近由于工作中需要用到c++编写计算偏度和峰度,因此在网上找了很多文章,但最后发现得出的峰度和偏度的计算结果和python直接调用pandas计算的结果不一致,最后在excel的计算中找到公式后发现最终结果需要做一些小小的处理,得到的结果与python一致,这里记录下:

偏度:

峰度:

附上c++代码:

double mean(const deque<double>& data){if(data.size() > 0){double ans = 0.0;for (int i = 0; i < data.size(); i++) {ans += data[i];}ans = ans / data.size();return ans;}else{return 0.0;}}double stddev(const deque<double>& data ){if(data.size()>0){double a1 = mean(data);double a2 = 0.0;for(int i=0;i<data.size();++i){a2 += (a1 - data[i]) * (a1 - data[i]);}a2 = sqrt(a2 / (data.size()-1));return a2;}else{return 0.0;}}double get_deque_skew(const deque<double> &que){double que_mean = vec_mean(que);double que_std = stddev(que);double sum = 0.0;if(que_std == 0){return 0.0;}for(auto it=que.begin();it!=que.end();++it){sum += pow((*it-que_mean)/que_std,3);}return sum*que.size()/((que.size()-1)*(que.size()-2));}double get_deque_kurt(const deque<double> &que){double que_mean = vec_mean(que);double que_std = stddev(que);double sum = 0.0;if(que_std == 0){return 0.0;}for(auto it=que.begin();it!=que.end();++it){sum += pow((*it-que_mean)/que_std,4);}double n = que.size();return sum*((n*(n+1))/((n-1)*(n-2)*(n-3))) - 3*(n-1)*(n-1)/((n-2)*(n-3));}

如果觉得《python中偏度和峰度的计算公式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。