私は、年、科目、グレード別にテストスコアの分布をチェックしています。私は、外れ値がないことを確認したい。これは、平均から4標準偏差を超えるものである。これは私のコードです:スカラーを使って外れ値をチェックする方法
bys year subject tested_grade: summarize test_score
しかし、私はスカラーを取得しようとすると、私は唯一のスカラは、件名、tested_grade昨年に対応し得ることができます。ループを作成しようとしましたが、同じ問題が発生します。
私はNick Coxのextremes
コマンドを見つけましたが、極端な値が平均からどれだけの標準偏差であるかはわかりません。
平均から離れた標準偏差の尺度で決定された外れ値をチェックする方法のアイデアがあれば、本当に役に立ちます。
編集
このコードは、私が欲しいもの(主に)私を取得します。
bys year subject tested_grade: summarize test_score
gen std_test_score = (test_score > 4*r(sd)) if test_score < .
list test_score std_test_score if std_test_score==1
唯一の問題は、昨年、subject、およびtested_gradeがr(sd)の由来であるということです。私は毎年、subject、およびtested_gradeの変数std_test_score1-20を作成したいと思います。
"Nick Coxの極端なコマンドが見つかりましたが、極端な値が平均からどのくらいの標準偏差があるかはわかりません。"これは**目的に沿ったものです**:外れ値の可能性があると、SDと平均値自体が影響を受け、(値平均)/ SDは外れ値のメトリックではありません! –
おそらく私は追加しておくべきですが、データプロバイダが公開した手段、最大、最小、および標準と私のデータを比較しています。私の平均値、最大値などはそれらの値と一致しなければならず、私の平均値が少し違うので、矛盾の原因となるいくつかの異常値があるかどうかを見たいと思っていました。 – otteheng
(value-mean)/ SDの計算を停止するものはありません。どのようにするかは、手段とSDがデータにどのように保持されているか、データから計算されるかによって異なります。 –