Main Content

nanstd

(권장되지 않음) NaN 값을 무시하여 표준편차 구하기

nanstd는 권장되지 않습니다. MATLAB® 함수 std를 대신 사용하십시오. std 함수를 사용하면 NaN 값을 계산에 포함할지 아니면 제외할지 여부를 지정할 수 있습니다. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

설명

예제

y = nanstd(X)는 모든 NaN 값을 제거한 후에 계산한 X의 표준편차 std입니다.

  • X가 벡터이면 nanstd(X)X에서 NaN이 아닌 모든 요소의 표본 표준편차입니다.

  • X가 행렬이면 nanstd(X)NaN 값을 제거한 후에 계산한 열 표본 표준편차로 구성된 행 벡터입니다.

  • X가 다차원 배열이면 nanstdX의 첫 번째 비한원소 차원을 따라 연산을 수행합니다. 이 차원의 크기는 1이 되고 다른 모든 차원의 크기는 변경되지 않습니다. nanstd는 모든 NaN 값을 제거합니다.

  • 기본적으로 nanstdy를 n – 1로 정규화합니다. 여기서 n은 NaN 값을 가진 관측값을 제거한 이후 나머지 관측값의 개수입니다.

예제

y = nanstd(X,flag)flag로 지정된 정규화를 기준으로 X의 표준편차를 반환합니다. flag0(디폴트 값) 또는 1이며 각각 n – 1 또는 n으로 정규화가 지정됩니다. 여기서 n은 NaN 값을 가진 관측값을 제거한 이후 나머지 관측값의 개수입니다.

예제

y = nanstd(X,flag,'all')NaN 값을 제거한 후에 계산한 X의 모든 요소의 표준편차를 반환합니다.

예제

y = nanstd(X,flag,dim)NaN 값을 제거한 후에 계산한 X에 대해 연산 차원 dim을 따라 표준편차를 반환합니다.

예제

y = nanstd(X,flag,vecdim)은 벡터 vecdim에 지정된 차원을 따라 표준편차를 반환합니다. 이 함수는 NaN 값을 제거한 후에 표준편차를 계산합니다. 예를 들어 X가 행렬이면 행렬의 모든 요소가 차원 1 및 차원 2로 정의된 배열 슬라이스에 포함되어 있기 때문에 nanstd(X,0,[1 2])X에서 NaN이 아닌 모든 요소의 표본 표준편차입니다.

예제

모두 축소

누락값이 있는 행렬 데이터에 대한 열 표준편차를 구합니다.

X = magic(3);
X([1 6:9]) = NaN
X = 3×3

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

y = nanstd(X)
y = 1×3

    0.7071    2.8284       NaN

carsmall 데이터 세트를 불러옵니다.

load carsmall

Horsepower 데이터에 대한 모집단 표준편차와 표본 표준편차를 계산합니다. nanstd 함수는 Horsepower에서 누락값을 무시합니다.

y1 = nanstd(Horsepower,1)   % Population formula
y1 = 45.2963
y2 = nanstd(Horsepower,0)   % Sample formula
y2 = 45.5268

누락값을 무시하고 배열에 있는 모든 값의 표준편차를 구합니다.

일부 누락값이 있는 3×4×2 배열 X를 만듭니다.

X = reshape(1:24,[3 4 2]);
X([8:10 18]) = NaN
X = 
X(:,:,1) =

     1     4     7   NaN
     2     5   NaN    11
     3     6   NaN    12


X(:,:,2) =

    13    16    19    22
    14    17    20    23
    15   NaN    21    24

X의 요소에 대한 표본 표준편차를 구합니다.

y = nanstd(X,0,'all')
y = 7.5385

누락값이 있는 행렬 데이터에 대한 행 표준편차를 구합니다. 두 번째 차원을 따라 표본 표준편차를 계산하도록 지정합니다.

X = magic(3);
X([1 6:9]) = NaN
X = 3×3

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

y = nanstd(X,0,2)
y = 3×1

         0
    1.4142
         0

여러 차원을 따라 다차원 배열의 표준편차를 구합니다.

일부 누락값이 있는 3×4×2 배열 X를 만듭니다.

X = reshape(1:24,[3 4 2]);
X([8:10 18]) = NaN
X = 
X(:,:,1) =

     1     4     7   NaN
     2     5   NaN    11
     3     6   NaN    12


X(:,:,2) =

    13    16    19    22
    14    17    20    23
    15   NaN    21    24

차원 1과 차원 2를 연산 차원으로 지정하여 X의 각 페이지에 대한 표본 표준편차를 구합니다.

ypage = nanstd(X,0,[1 2])
ypage = 
ypage(:,:,1) =

    3.8079


ypage(:,:,2) =

    3.7779

예를 들어 ypage(1,1,2)X(:,:,2)에서 NaN이 아닌 요소의 표본 표준편차입니다.

차원 2와 차원 3을 연산 차원으로 지정하여 각 X(i,:,:) 슬라이스에 포함된 요소의 표본 표준편차를 구합니다.

yrow = nanstd(X,0,[2 3])
yrow = 3×1

    7.9102
    7.6904
    8.2158

예를 들어 yrow(3)X(3,:,:)에서 NaN이 아닌 요소의 표본 표준편차입니다.

입력 인수

모두 축소

입력 데이터로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다.

데이터형: single | double

표준편차를 계산하는 데 사용되는 정규화에 대한 표시자로, 0 또는 1로 지정됩니다.

데이터형: single | double

연산을 수행할 차원으로, 양의 정수 스칼라로 지정됩니다. 값을 지정하지 않으면 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

dim은 길이가 1로 줄어드는 차원을 나타냅니다. size(y,dim)은 1이 되고, 다른 모든 차원의 크기는 변경되지 않습니다.

2차원 배열 X가 있다고 가정합니다.

  • dim이 1이면 nanstd(X,0,1)은 각 열의 표본 표준편차를 포함하는 행 벡터를 반환합니다.

  • dim이 2이면 nanstd(X,0,2)는 각 행의 표본 표준편차를 포함하는 열 벡터를 반환합니다.

dimndims(X)보다 크거나 size(X,dim)이 1이면 nanstdX와 동일한 차원 및 누락값을 갖는 0으로 구성된 배열을 반환합니다.

데이터형: single | double

차원의 벡터로, 양의 정수 벡터로 지정됩니다. vecdim의 각 요소는 입력 배열 X의 차원을 나타냅니다. 출력값 y는 지정된 연산 차원에서 길이가 1입니다. 다른 차원 길이는 Xy에서 같습니다.

예를 들어 X가 2×3×3 배열이면 nanstd(X,0,[1 2])는 1×1×3 배열을 반환합니다. 출력 배열의 각 요소는 X의 대응되는 페이지에 있는 요소의 표본 표준편차입니다.

Mapping of input dimension of 2-by-3-by-3 to output dimension of 1-by-1-by-3

데이터형: single | double

출력 인수

모두 축소

표준편차 값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 반환됩니다.

세부 정보

모두 축소

표본 표준편차

표본 표준편차 S는 다음으로 지정됩니다.

S=i=1n(xiX¯)2n1.

S는 X가 똑같이 분산된 독립된 표본으로 구성된 경우에 한해 X가 추출된 모집단의 분산에 대한 무편향 추정량의 제곱근입니다. X¯는 표본평균입니다.

여기서 이 분산 공식의 분모는 n – 1입니다.

모집단 표준편차

데이터가 전체 모집단 값인 경우 다음과 같은 모집단 표준편차를 사용할 수 있습니다.

σ=i=1n(xiμ)2n.

X가 모집단에서 추출한 임의 표본인 경우 μ는 표본평균에 의해 추정되고 σ는 모집단 표준편차에 대한 편향 최대가능도 추정량입니다.

여기서 이 분산 공식의 분모는 n입니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 축소

R2020b: nanstd는 권장되지 않음

nanstd는 권장되지 않습니다. MATLAB 함수 std를 대신 사용하십시오. nanstd를 제거할 계획은 없습니다.

코드를 업데이트하려면 함수 이름 nanstd의 인스턴스를 std로 변경하십시오. 그런 다음 nanflag 입력 인수에 대해 'omitnan' 옵션을 지정하십시오.

std는 tall형 배열, GPU 배열, 분포 배열, C/C++ 코드 생성, GPU 코드 생성을 지원하기 위한 더 확장된 기능을 제공합니다.

참고 항목

|