Algorithms

將一組數字強制為高斯鐘形曲線

  • December 31, 2010

這與我在 Stack Overflow 上的編程問題有關貝爾曲線高斯算法(Python 和/或 C#)。)

在 Answers.com 上,我發現了這個簡單的例子:

  1. 求算術平均值(平均值)=> 集合中所有值的總和,除以集合中元素的數量
  2. 求集合中所有值的平方和
  3. 將 (2) 的輸出除以集合中的元素數
  4. 從 (3) 的輸出中減去均值 (1) 的平方
  5. 取 (4) 的結果的平方根

示例:設置 A={1,3,4,5,7}

  1. (1+3+4+5+7)/5 = 4
  2. (11+33+44+55+7*7)=1+9+16+25+49=100
  3. 100 / 5 = 20
  4. 20 - 4*4=20-16 = 4
  5. SQRT(4) = 2

(這來自wiki.answers.com上的帖子。)

現在考慮到所有這些,我怎樣才能將上述數據擬合到從 200 到 800 的鐘形曲線(例如信用評分)。顯然,上述集合中的數字 5 將是 500。但是確定什麼的公式是什麼? 3 應該在同一尺度上。儘管原始集合 Set A={1,3,4,5,7} 不是鍾形曲線,但我想將其強制為鍾形曲線。

想像一下,這些是 5 個人的分數。下個月的分數可能會發生如下變化: 設置A2={1,2,4,5,9}(一個人失去一分,排名靠前的人再獲得兩分——富人更富,窮人更窮)。然後也許會有一個新人進入集合: Set A3={1,2,4,5,8,9}

縮放範圍,如 200 到 800(例如SAT ),只是測量單位的變化。(它的工作原理就像將華氏溫度更改為攝氏溫度一樣。)

中間值 500 旨在對應於數據的平均值。當數據確實遵循正態分佈(“鐘形曲線”)時,該範圍旨在對應於大約 99.7% 的數據。保證包含 8/9 的數據(切比雪夫不等式)。

在這種情況下,公式 1-5 計算數據的標準差。這只是原始數據的新計量單位。需要對應新尺度中的100個單位。因此,要將原始值轉換為縮放值,

  • 減去平均值。
  • 除以標準差。
  • 乘以 100。
  • 加500。

如果結果超出範圍您可以按原樣使用它,也可以通過四捨五入到 200 到 800 來將其“箝制”到範圍內。

在示例中,使用數據,平均值為SD是. 因此,在重新縮放時,變成. 類似地計算的整個重新縮放的數據集是.

當原始數據以明顯不正常的方式分佈時,您需要另一種方法。您不再計算平均值或 SD。相反,將所有分數按順序排列,從第 1(最小)到th(最大)。這些是他們的隊伍。轉換任何等級成它的百分比 . (在示例中,並且數據已經按順序排列. 因此他們的百分比是,通常等價地寫為等)對應於任何百分比(之間和, 必然) 是一個正常的分位數。它是用與誤差函數密切相關的正態分位數函數計算的。(簡單的數值近似值很容易編碼。)它的值通常在 -3 到 3 之間,必須重新調整(就像以前一樣)到範圍. 首先將正常分位數乘以 100,然後再加上 500。

正常的分位數函數可用於許多計算平台,包括電子表格(例如 Excel 的normsinv)。 **例如,**數據的正態分位數(或“正態分數”)是.

當您有 370 或更少的值時,這種“正常評分”方法將始終給出 200 到 800 之間的分數。當您有 1111 個或更少的值時,除了最高和最低值之外,所有值的分數都在 200 到 800 之間。

引用自:https://stats.stackexchange.com/questions/5853

comments powered by Disqus