在线统计:方差计算不正确

2024-09-26 18:13:10 发布

您现在位置:Python中文网/ 问答频道 /正文

SOF公司, 我是Python的新手,我在网上找到了很多信息,但是在计算均值、方差等时需要使用一个列表,这是我做不到的。我没有问题计算用户输入的平均值,但方差是关闭的。你知道吗

根据我的理解,方差是一个“数”和它的“均数”“平方”之间的差。也许问题就在那里?我不确定要说实话,这是我的最后手段,如果你能在任何方式,将不胜感激,我也愿意接受任何建议,我如何写我的代码。你知道吗

谢谢!你知道吗

到目前为止我的代码是:

n = input("Enter Number ")
n = int (n)
average = 0

sum = 0

for num in range(0,n+1,1):
        sum = sum + num;

mean = (sum *1.0/ n)

variance = 0

for num in range(n+1):
     sum = (num- mean)**2         

variance = (sum*1.0) 

print("Mean is: ",mean , "Variance is: ",variance)

Tags: 代码in信息foris公司rangemean
2条回答

range(n+1)给你一个从0-n开始的列表。但是你需要从1-n开始的列表,所以使用range(1, n+1)

sum = 0
for num in range(1,n+1):
 sum += (num- mean)**2 
variance = sum/n

旁注:有一个内置的statistics库。你知道吗

首先,方差不仅仅是数的均方,它是所有数的均方除以n(或n-1)的和

计算方差的范围应从1开始:range(1,n+1)

var=0
for num in range(1,n+1):
     var = var +(num- mean)**2         

现在可以用两种方法来计算方差:除以nn-1,从而得到两种不同的答案

variance1 = (var*1.0) /n
variance2 = (var*1.0) /(n-1)

例如:对于n=10,方差1=8.25,方差2=9.16666

n用于计算总体方差,而n-1用于计算样本方差。你知道吗

其他详细信息: 另外,在使用range时,如果步长值为1,则不需要指定它。用range(0,n+1)代替range(0,n+1,1)

避免对均值和方差使用相同的变量sum,因为这只会导致与公式混淆。你知道吗

相关问题 更多 >

    热门问题