가우스 벨 커브에 일련의 숫자를 강요


9

( 이것은 Stack Overflow : Bell Curve Gaussian Algorithm (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. (1 * 1 + 3 * 3 + 4 * 4 + 5 * 5 + 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의 규모가 같아야합니다. 원래 세트 세트 A = {1,3,4,5,7}가 벨 커브가 아니지만 벨 커브로 강제 설정하고 싶습니다.

이 사람들이 5 명이라고 상상해보십시오. 다음 달 점수는 다음과 같이 바뀔 수 있습니다 : 세트 A2={1,2,4,5,9}(한 남자는 점수를 잃고 최고 남자는 두 포인트를 더 얻습니다-부자가 부유할수록 가난한 사람은 가난 해집니다). 그러면 아마도 새로운 남자가 세트에 들어옵니다 A3={1,2,4,5,8,9}.


2
세트가 시간에서 시간을 변경하면 동일한 종 곡선에 맞추는 것이 불가능합니다. 설정했다고 가정하면 4는 800이어야하지만 새로운 관측치 5가 도착하면 800이됩니다.={1,2,,4}
mpiktas

1
CrossValidated, NealWalters에 오신 것을 환영합니다. 통계 학자에게 "어떻게해야합니까?"라고 묻는 일반적인 반응은 "왜 그렇게 하시겠습니까?"입니다.
onestop

@onestop-이전 게시물에 대한 내 링크를 참조하십시오. 학교에서는 "곡선에"등급을 매기는 교사의 말을 기억합니다. 따라서 시험에서 얻은 점수에 관계없이 특정 비율의 사람들 만이 각 성적을 얻습니다. 신용 점수가 어떻게 작동하는지 잘 모르겠지만 시뮬레이션하는 것과 매우 유사합니다. 예를 들어 사람들이 대출을 갚을 때 포인트를줍니다. 그러나 어떤 사람들은 수십 개의 대출을 갚을 것입니다. 와일드 포인트를 정규화 된 포인트 세트로 압축하고 싶습니다.
NealWalters

마지막 의견을 읽고, 어떤 접근법이 가장 좋은지 궁금합니다. 예를 들어, 각 대출에 대해 1 점, 다른 점에 대해 다른 점을 부여한 다음 마지막에 막대한 점수를 길들이거나 각 구성 요소에 대해 더 의미있는 것을 수행하십시오. 최종 점수를 구성합니까? 예를 들어, 상환 된 대출에 대한 포인트를 제공하면 LPO (Loans Paid Off) 포인트를 로그 (1 + NumberOfLoansPaidOff)로 계산할 수 있습니다. 따라서 대출이 0 인 사람은 LPO가 0이되고, 대출이 3 인 사람은 LPO가 1.1이되고, 대출이 100 인 사람은 LPO가 4.6이됩니다. LPO를 5로 제한하십시오.
Wayne

답변:


13

200에서 800과 같은 스케일 범위 ( 예 : SAT 등 ) 는 측정 단위의 변화 일뿐 입니다. (화씨의 온도를 섭씨 온도로 바꾸는 것과 똑같이 작동합니다.)

중간 값 500은 데이터의 평균에 해당합니다. 이 범위는 데이터가 정규 분포 ( "벨 곡선")를 따르는 경우 데이터의 약 99.7 %에 해당합니다 . 데이터의 8/9 ( Chebyshev 's Inequality ) 를 포함하는 것이 보장 됩니다 .

이 경우 공식 1-5는 데이터의 표준 편차를 계산합니다. 이것은 단순히 원본 데이터의 새로운 측정 단위입니다. 새로운 스케일에서 100 단위에 해당해야합니다. 따라서 원래 값을 스케일 된 값으로 변환하려면

  • 평균을 뺍니다.

  • 표준 편차로 나눕니다.

  • 100을 곱하십시오.

  • 500을 더하십시오.

결과가 범위를 벗어난 경우 [200,800] 200을 반올림하여 800까지 내림으로써 그대로 사용하거나 범위로 "클램프"할 수 있습니다.

이 예 에서는 데이터 사용{1,,4,5,7}평균은 4 SD는 2. 따라서 크기를 조정하면1 된다 (14)/2100+500=350. 비슷하게 계산 된 전체 크기 조정 된 데이터 세트는{350,450,500,550,650}.

원본 데이터가 비정규 방식으로 명확하게 배포되는 경우 다른 방법이 필요합니다 . 더 이상 평균 또는 SD를 계산하지 않습니다. 대신, 1 점 (최소)부터 최대 점수까지 모든 점수를 순서대로 입력하십시오.th (가장 큼). 이들은 그들의 순위 입니다. 모든 순위를 변환나는그것으로 비율 (나는1/2)/. (이 예에서는=5 데이터는 이미 순위 순서대로되어 있습니다 나는=1,2,,4,5. 따라서 그들의 비율은1/10,/10,5/10,7/10,9/10종종 다음과 같이 씁니다. 10%,30%등) 모든 비율에 해당 01반드시)는 일반적인 Quantile 입니다. 이 함수오류 함수 와 밀접한 관련이 있는 일반 Quantile 함수 로 계산됩니다 . (간단한 숫자 근사 는 코드에 대해 간단합니다.) 일반적으로 -3에서 3 사이의 값은 범위와 동일하게 범위를 조정해야합니다 (이전과 동일).[200,800]. 먼저 보통 Quantile에 100을 곱한 다음 500을 추가하여이 작업을 수행하십시오.

일반적인 Quantile 기능은 스프레드 시트 (예 : Excel의 normsinv )를 포함한 많은 컴퓨팅 플랫폼에서 사용할 수 있습니다 . 예를 들어, 데이터에 대한 정규 Quantile (또는 "정상 스코어"){1,,4,5,7} 아르 {372,448,500,552,628}.

이 " 정상 득점 "접근 방식은 값이 370 이하인 경우 항상 200에서 800 사이의 점수를 제공합니다. 값이 1111 이하인 경우 최고 값과 최저값을 제외한 모든 점수는 200과 800 사이입니다.


당신이 더 나은 방법이고 나의 오래된 :) 만든 이후 +1, 나는 내 대답을 삭제 한
mpiktas에게

1-5에서 5를 어디서 얻습니까? 4는 평균입니다. 1-4 여야합니까? 오늘 파이썬으로 테스트하고 있습니다. 다시 감사합니다.
NealWalters

@NealWalters 죄송합니다. 손가락이 미끄러졌습니다. 지금 수정하여 (1-4) / 2 * 100 + 500을 읽습니다.
whuber

4

이 접근법을 시도 할 수 있습니다-데이터 세트를 -1과 +1 사이의 범위로 정규화하십시오.

(개인 _ 값min_of_all_valuesmax_of_all_valuesmin_of-all_values0.5)2.
데이터 세트의 모든 값을 -1과 +1 사이의 값으로 변환하고 실제 최대 값과 최소값은 각각 +1과 -1로 설정 한 다음이 +1과 -1 값을 +0.9999로 재설정합니다. 및 -0.9999 (다음 계산에 필요)

그런 다음 피셔 변환 을 위의 정규화 된 각 값에 적용하여 정규 분포와 거의 일치하도록 "강제화"한 다음 각 피셔 변환 값을 "정규화 해제"하여 200과 800 사이의 값 범위를 설정합니다.

생선 _ 가치min_all_Fish_valuesmax_all_Fish_valuesmin_all_Fish_values600+200
대략적인 정규 분포에 따라 최대 피셔 변환 값은 정확히 800으로 설정되고 최소 피셔 변환 값은 정확히 200으로 설정되며 다른 모든 값은이 두 극단 사이에있게됩니다.

SO에 대한 원래 질문과 확장 성 문제를 참조하면,이 방법의 장점은 새로운 데이터 포인트 자체가 데이터 세트 전체의 새로운 최대 값 또는 최소값이 아니라면 위의 계산을 새로운 데이터 포인트에 적용 할 수 있다는 것입니다 원래 데이터 세트의 기존 점수에 영향을 미치지 않고 200에서 800 사이의 점수를 얻습니다. 새로운 데이터 포인트가 새로운 최대 값 또는 최소값 인 경우이 새로운 "정규화"최대 값 또는 최소값으로 전체 데이터 세트에 대한 점수를 다시 계산해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.