알려진 평균을 사용하여 표준편차 계산

알려진 평균을 사용하여 표준편차 계산

두 개의 열 파일이 많이 있습니다. 첫 번째 열에는 변수 숫자가 포함되고, 두 번째 열에는 이러한 숫자의 "실제" 값이 포함됩니다.

file 1
41619.442 41586.441
41474.2539 41586.441
41587.539062 41586.441
41623.996094 41586.441

열 2를 기준으로 열 1의 표준 편차를 계산하는 방법은 무엇입니까? 공통 사항을 수정해 보았습니다.

awk '{delta = $1 - avg; avg += delta / NR; mean2 += delta * ($1 - avg); } END { print sqrt(mean2 / NR); }'

얻기 위해

awk '{a=$2}{delta = $1 - a; a += delta / NR; a*2 += delta * ($1 - a); } END { print sqrt(a*2 / NR); }' 11978.08984 >> test1.txt

하지만 좋은 결과는 없습니다.

답변1

먼저, 예제의 열 2는견본파일의 데이터를 나타냅니다. 이게 평균이 맞다면진짜분포에서 표준편차는 다음과 같습니다.

$ awk '{ssq+=($1 - $2)**2} END { print sqrt(ssq / NR); }' file1a
61.4138

여기서 변수는 ssq실제 평균과의 편차 제곱의 합입니다.

위 프로그램은 표준편차 공식을 구현합니다.

여기에 이미지 설명을 입력하세요.

어디 무 (μ) 이다진짜의미는.

용어

내가 말한 것진짜평균은 때로 불린다.인구평균은 이론적으로 해당 모집단의 일부 표본이 아니라 전체 모집단이 있는 경우 계산할 수 있는 평균을 의미합니다.

답변2

이와 같은 질문이 있는 경우 다음을 살펴보세요 datamash.

datamash -W pstdev 1 < file1

다른 많은 기능 중에서 datamash에는

  • pstdev 1= 열 1의 모집단 표준편차
  • sstdev 1= 열 1의 표본 표준편차

관련 정보