c#从平均值和标准差绘制钟形曲线

时间:2012-07-18 15:34:58

标签: c# statistics draw curve standard-deviation

有没有办法从标准偏差和平均值生成贝尔曲线?我已阅读过这篇文章,但无法找到一个算法。

我有一个数字列表,它们是预标准化的查找(得分=>百分位数)。我有一些范围,我需要绘制一条钟形曲线,以便我可以对曲线下方的区域进行着色以表示图表上的分数(我想假设的区域图表/ infrographic esk)。我真的陷入了第一道障碍。

我计划通过以下方式对数据进行测量来绘制历史图:

int count = data.Count-1;  

        for (int i = 0; i < count; i++ )
        {
            data[i] = data[i + 1] - data[i]; //range
        }

        data[data.Count - 1] = 0; //make sure the curve comes back to 0

Non normal data

我需要从这些数据中绘制一个Bell Curve。但并非所有数据集都遵循上述输出中的正常偏差。

那么将这些数据变成钟形曲线的最佳方法是什么?

我可以使用标准偏差和数据平均值来计算沿曲线的n坐标,然后将分数转换到该曲线上以构建图表吗?

或..我应该尝试将现有数据标准化为曲线,然后将adiitonal值插入到数据集中以使输出平滑吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我不确定我是否完全理解您的要求,但这是我解释您的问题的方式。

如果您的集合中有一定数量的观察值,您可以通过划分数据范围并根据此http://en.wikipedia.org/wiki/Normal_distribution#Standardizing_normal_random_variables

从标准化正态变量计算理论百分比来计算直方图。

例如,假设你的平均值是5,标准差1超过1000的样本。然后我们知道大约68%的正态分布位于1 S.D.平均值的两边。因此,在直方图箱[4,5]和[5,6]中,每个箱子有340个观测值。类似地,大约13%的人口位于区间[mean-2xS.D,mean-1 x S.D]和[mean + 1 x S.D,mean + 2 x S.D]。在这个简单的例子中,您将在区间[3,4]和[6,7]中生成130的观察计数。

通过使用标准正态变量表在间隔内查找适当的总体百分比,您可以根据需要显然考虑更精细的间隔。然后,您将在直方图中显示理想的理论正态分布样本。然后,您可以插入这些点以获得平滑的曲线以覆盖您的histogra,