我正在按年份,主題和等級檢查測試分數的分佈情況。我想確保沒有任何異常值,這與異常值的偏差超過4個標準偏差。這是我的代碼:如何使用標量檢查異常值
bys year subject tested_grade: summarize test_score
但是,當我試圖讓我的標量只能得到相當於去年同期的標量,主題,tested_grade。我試過創建一個循環,但它導致了同樣的問題。
我發現尼克考克斯的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
唯一的問題是,最後一年,主題和testing_grade是r(sd)的來源。我想創建一個變量 - std_test_score1-20 - 每年,subject和tested_grade。
「我發現尼克考克斯的」極端「命令,但它並沒有告訴我有多少標準偏差的極端值與平均值不符。」 **的目的**:一旦你有可能的異常值,標準偏差和均值本身就會受到影響,而(值 - 平均值)/標準偏差不是異常值的度量標準! –
也許我應該添加,但是我將數據與數據提供者發佈的平均值max,min和std進行了比較。我的意思是,max等應該與他們匹配,因爲我的手段有點不同,所以我想看看是否有一些異常值可能會導致這種差異。 – otteheng
沒有什麼能阻止你計算(價值 - 平均數)/標準差。如何做到這一點取決於數據中的手段和可持續發展標準是如何保存的,或者根據您的數據進行計算。 –