2

私はグーグルで調べましたが、Python用の組み込みのディクソンのQテストが見つかりません。Rに1つあることは知っていますが、私の問題は、最大9つの場所があり、それぞれに測定値を取得し、1つのインスタンスの値(毛羽立ちと呼びます)を報告していることです。ここでは説明しませんが、楽器に何かひどく問題がある場合、データは fluff=-999 として保存されます。また、風向きが悪いなどの場合、楽器が狂った読みを受けることがあります。私がやりたいことは、データのディクソンの Qtest と呼ばれ、ある場所での読み取り値を破棄し、データの他の統計の計算に使用しないかどうかを確認することです。多分これは役立つでしょう...

Data[location][time]辞書の辞書です。

for t in Time:    
    L = []
    for loc in Location:
        L.append(Data[loc][t])

    #perform Dixon's Outlier test
    average = sum(L) / len(L)
    AverData[t] = average

    #more analysis

ありがとうございました!

4

1 に答える 1

1

ディクソンの Q 検定のポイントは、正規分布からの偏差によって外れ値を特定することですが、この場合、毛羽立ち (および行/読み取り値の他のすべてのデータ) は、毛羽立ち = -999 の場合に外れ値であることがわかります。つまり、ディクソンの Q はあなたにとって不必要なように思えます。

それにもかかわらず、Python での Dixon の Q テストの生の実装がここにあります。

于 2016-09-07T17:18:29.967 に答える