样本中各数据与样本平均数的差的平方和的平均数叫做样本方差;样本方差的算术平方根叫做样本标准差。样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大,样本数据的波动就越大
方差
标准差
/// <summary>
/// 求方差的算法
/// </summary>
/// <param name="qurey">出入操作参数</param>
/// <returns>返回计算结果</returns>
public static double FangCha(double[] qurey)
{
double fangcha = 0;
double junshu = 0;
double sum = 0;
double pinjun = 0;
if (qurey == null)
{
return 0;
}
else
{
for (int i = 0; i < qurey.Length; i++)
{
junshu += qurey[i];
}
pinjun = junshu / qurey.Length;
for (int i = 0; i < qurey.Length; i++)
{
sum += (qurey[i] - pinjun) * (qurey[i] - pinjun);
}
fangcha = sum / qurey.Length;
fangcha = Math.Round(fangcha, 2);
return fangcha;
}
}
/// <summary>
/// 求标准差算法
/// </summary>
/// <param name="qurey">传入操作参数</param>
/// <returns>返回操作结果</returns>
public static double BiaoZhunCha(double[] qurey)
{
double biaozhuncha = 0;
double fangcha = 0;
double junshu = 0;
double pinjun = 0;
double sum = 0;
if (qurey == null)
{
return 0;
}
else
{
for (int i = 0; i < qurey.Length; i++)
{
junshu += qurey[i];
}
pinjun = junshu / qurey.Length;
for (int i = 0; i < qurey.Length; i++)
{
sum += Math.Pow(qurey[i] - pinjun, 2);
}
fangcha = sum / qurey.Length;
biaozhuncha = Math.Sqrt(fangcha);
biaozhuncha = Math.Round(biaozhuncha, 2);
return biaozhuncha;
}
}