第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何確定一組值的標(biāo)準(zhǔn)偏差(stddev)?

如何確定一組值的標(biāo)準(zhǔn)偏差(stddev)?

肥皂起泡泡 2019-12-20 11:03:10
我需要知道一個(gè)與一組數(shù)字相比的數(shù)字是否在均值之外的1個(gè)stddev之外。
查看完整描述

3 回答

?
哆啦的時(shí)光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊

雖然平方和算法在大多數(shù)情況下都可以正常工作,但是如果您要處理非常大的數(shù)字,可能會(huì)造成很大的麻煩。您基本上可能最終會(huì)得到負(fù)方差...


另外,永遠(yuǎn)不要永遠(yuǎn)將a ^ 2計(jì)算為pow(a,2),幾乎可以肯定a * a更快。


到目前為止,計(jì)算標(biāo)準(zhǔn)差的最佳方法是韋爾福德方法。我的C非常生銹,但是看起來可能像這樣:


public static double StandardDeviation(List<double> valueList)

{

    double M = 0.0;

    double S = 0.0;

    int k = 1;

    foreach (double value in valueList) 

    {

        double tmpM = M;

        M += (value - tmpM) / k;

        S += (value - tmpM) * (value - M);

        k++;

    }

    return Math.Sqrt(S / (k-2));

}

如果您擁有全部人口(而不是樣本人口),請(qǐng)使用return Math.Sqrt(S / (k-1));。


編輯:我已經(jīng)根據(jù)杰森的言論更新了代碼...


編輯:我還根據(jù)亞歷克斯的言論更新了代碼...


查看完整回答
反對(duì) 回復(fù) 2019-12-20
?
開心每一天1111

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊

解決方案比Jaime的解決方案快10倍,但是請(qǐng)注意,正如Jaime指出的那樣:


“雖然平方和算法在大多數(shù)情況下都可以正常工作,但是如果要處理非常大的數(shù)字,可能會(huì)造成很大的麻煩。基本上,您最終可能會(huì)得到負(fù)方差”


如果您認(rèn)為要處理的是非常大的數(shù)字或數(shù)量非常大的數(shù)字,則應(yīng)使用兩種方法進(jìn)行計(jì)算,如果結(jié)果相等,則可以確定可以使用“我的”方法。


    public static double StandardDeviation(double[] data)

    {

        double stdDev = 0;

        double sumAll = 0;

        double sumAllQ = 0;


        //Sum of x and sum of x2

        for (int i = 0; i < data.Length; i++)

        {

            double x = data[i];

            sumAll += x;

            sumAllQ += x * x;

        }


        //Mean (not used here)

        //double mean = 0;

        //mean = sumAll / (double)data.Length;


        //Standard deviation

        stdDev = System.Math.Sqrt(

            (sumAllQ -

            (sumAll * sumAll) / data.Length) *

            (1.0d / (data.Length - 1))

            );


        return stdDev;

    }


查看完整回答
反對(duì) 回復(fù) 2019-12-20
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

Jaime接受的答案很好,除了您需要在最后一行除以k-2(您需要除以“ number_of_elements-1”)。更好的是,將k從0開始:


public static double StandardDeviation(List<double> valueList)

{

    double M = 0.0;

    double S = 0.0;

    int k = 0;

    foreach (double value in valueList) 

    {

        k++;

        double tmpM = M;

        M += (value - tmpM) / k;

        S += (value - tmpM) * (value - M);

    }

    return Math.Sqrt(S / (k-1));

}


查看完整回答
反對(duì) 回復(fù) 2019-12-20
  • 3 回答
  • 0 關(guān)注
  • 1552 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)