我需要对一组数字执行大量统计计算,我需要计算的其中一项是中值绝对偏差。我收到了一个 ISO 标准,它告诉我的只是
我不知道如何处理这些信息,因为我没有接受过任何统计数学培训。因此,我无法将上述内容转换为 C# 函数。
最佳答案
中位数是已排序数组的中间元素(如果数组有偶数项,则为两个中间项的平均值):
double[] source = new double[] { 1, 2, 3, 4, 5 };
Array.Sort(source);
double med = source.Length % 2 == 0
? (source[source.Length / 2 - 1] + source[source.Length / 2]) / 2.0
: source[source.Length / 2];
double[] d = source
.Select(x => Math.Abs(x - med))
.OrderBy(x => x)
.ToArray();
double MADe = 1.483 * (d.Length % 2 == 0
? (d[d.Length / 2 - 1] + d[d.Length / 2]) / 2.0
: d[d.Length / 2]);
关于c# - 在 C# 中计算中值绝对偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610304/