Main Content

기술 통계량을 사용하여 계산하기

더 고급의 통계량 기능이 필요한 경우 Statistics and Machine Learning Toolbox™를 사용해야 할 수 있습니다.

기술 통계량을 계산하기 위한 함수

데이터에 대한 기술 통계량을 계산하려면 다음 MATLAB® 함수를 사용하십시오.

참고

행렬 데이터의 경우, 각 열에 대한 기술 통계량이 개별적으로 계산됩니다.

통계량 함수 요약

함수

설명

max

최댓값

mean

평균 또는 평균값

median

중앙값

min

가장 작은 값

mode

최빈값

std

표준편차

var

값들이 퍼져 있는 정도, 즉 산포를 측정하는 분산

다음 예제에서는 MATLAB 함수를 적용하여 기술 통계량을 계산합니다.

예제 1 — 최댓값, 평균, 표준편차 계산하기

이 예제에서는 MATLAB 함수를 사용하여 24×3 행렬 count에 대해 최댓값, 평균값 및 표준편차 값을 계산하는 방법을 보여줍니다. MATLAB은 이러한 통계량을 행렬의 각 열에 대해 개별적으로 계산합니다.

% Load the sample data
load count.dat
% Find the maximum value in each column
mx = max(count)
% Calculate the mean of each column
mu = mean(count)
% Calculate the standard deviation of each column
sigma = std(count)

결과는 다음과 같습니다.

mx =
          114          145          257

mu = 
      32.0000      46.5417      65.5833

sigma =
      25.3703      41.4057      68.0281

각 데이터 열에서 최대 데이터 값이 있는 위치의 행 번호를 가져오려면, 행 인덱스를 반환하도록 두 번째 출력 파라미터 indx를 지정하십시오. 예를 들어, 다음과 같이 입력합니다.

[mx,indx] = max(count)

이에 대한 결과는 다음과 같습니다.

mx =
      114     145     257

indx =
      20    20    20

여기에서 변수 mx는 세 개 데이터 열 각각의 최댓값을 포함하는 행 벡터입니다. 변수 indx는 각 열의 최댓값에 해당하는 행의 인덱스를 포함합니다.

전체 count 행렬의 최솟값을 찾으려면 구문 count(:)을 사용하여 24×3 행렬을 72×1 열 벡터로 변환하십시오. 그런 다음, 단일 열의 최솟값을 찾기 위해 다음 구문을 사용하십시오.

min(count(:))

ans =
      7

예제 2 — 평균값 빼기

다음 구문을 사용하여 행렬의 각 열에서 평균값을 뺍니다.

% Get the size of the count matrix
[n,p] = size(count)
% Compute the mean of each column
mu = mean(count)
% Create a matrix of mean values by
% replicating the mu vector for n rows
MeanMat = repmat(mu,n,1)
% Subtract the column mean from each element
% in that column
x = count - MeanMat

참고

데이터에서 평균값을 빼는 것을 추세 제거라고도 합니다. 데이터에서 평균값 또는 최적선을 제거하는 방법에 대한 자세한 내용은 타임테이블 데이터에서 선형 추세 제거하기 항목을 참조하십시오.

예제: MATLAB 데이터 통계량 사용하기

데이터 통계량

데이터 통계량 대화 상자에서는 데이터에 대한 기술 통계량을 계산하고 플로팅할 수 있습니다. 이 예제에서는 MATLAB 데이터 통계량을 사용하여 24×3 행렬 count에 대한 통계량을 계산하고 플로팅하는 방법을 보여줍니다. 이 데이터는 도로 세 곳의 교통량 관측소를 지나는 차량의 수를 나타냅니다.

이 섹션에는 다음 항목이 포함되어 있습니다.

참고

MATLAB 데이터 통계량은 2차원 플롯에만 사용할 수 있습니다.

기술 통계량 계산 및 플로팅하기

  1. 데이터를 불러온 후 플로팅합니다.

    load count.dat
    [n,p] = size(count);
    
    % Define the x-values
    t = 1:n;
    
    % Plot the data and annotate the graph
    plot(t,count)
    legend('Station 1','Station 2','Station 3','Location','northwest')
    xlabel('Time')
    ylabel('Vehicle Count')
    

    Plot of Time and Vehicle Count variables with lines for Station 1, Station 2, and Station 3 data.

    참고

    범례에는 legend 함수로 지정한 각 데이터 세트의 이름 Station 1, Station 2, Station 3이 포함됩니다. 데이터 세트는 플로팅한 배열의 각 데이터 열을 말합니다. 데이터 세트 이름을 지정하지 않으면 디폴트 이름 data1, data2 등이 할당됩니다.

  2. Figure 창에서 툴 > 데이터 통계량을 선택합니다.

    데이터 통계량 대화 상자가 열리고 Station 1 데이터 세트의 X 데이터와 Y 데이터에 대한 기술 통계량이 표시됩니다.

    참고

    데이터 통계량 대화 상자에 표시되는 범위는 선택한 데이터 세트의 최솟값과 최댓값 간 차이를 나타냅니다. 대화 상자에 플롯의 범위는 표시되지 않습니다.

  3. 표시할 데이터 통계량: 목록에서 다른 데이터 세트, 즉 Station 2를 선택합니다.

    그러면 Station 2 데이터 세트의 X 데이터와 Y 데이터에 대한 통계량이 표시됩니다.

  4. 플롯에 표시할 각 통계량에 대한 체크박스를 선택한 다음 작업 공간에 저장을 클릭합니다.

    예를 들어, Station 2의 평균을 플로팅하려면 Y 열의 평균 체크박스를 선택하십시오.

    Data Statistics dialog with the Station 2 y mean selected.

    그러면 Station 2의 평균을 나타내는 가로선이 플로팅되고, 이 통계량을 포함하도록 범례가 업데이트됩니다.

    Plot of Time and Vehicle Count variables with a horizontal line representing the y mean.

플롯의 데이터 통계량 서식 지정하기

데이터 통계량 대화 상자에서는 색과 선 스타일을 사용하여 통계량과 플롯의 데이터를 구분합니다. 예제의 이 부분에서는 플롯의 기술 통계량 표시(예: 색, 선 너비, 선 스타일 또는 마커)를 사용자 지정하는 방법을 보여줍니다.

참고

데이터에 대한 모든 통계량을 플로팅하는 작업을 마칠 때까지 통계량의 표시 속성을 편집하지 마십시오. 플롯 속성을 편집한 후에 통계량을 추가하거나 제거하면 플롯 속성의 변경 사항을 잃게 됩니다.

플롯의 데이터 통계량 표시를 수정하려면 다음을 수행하십시오.

  1. MATLAB Figure 창의 도구 모음에서 (플롯 편집) 버튼을 클릭합니다.

    이 단계를 수행하면 플롯 편집이 활성화됩니다.

  2. 플롯에서 표시 속성을 편집할 통계량을 더블 클릭합니다. 예를 들어, Station 2의 평균을 나타내는 가로선을 더블 클릭합니다.

    이 단계에서 속성 인스펙터가 열려 해당 통계량을 나타내는 데 사용되는 선 모양을 수정할 수 있습니다.

    Property Inspector dialog with line color, line style, line width, marker type, and marker size options.

  3. 속성 인스펙터 창에서 선과 마커의 스타일, 크기, 색을 지정합니다.

    또는 플롯에서 통계량을 마우스 오른쪽 버튼으로 클릭하고 바로 가기 메뉴에서 옵션을 선택합니다.

MATLAB 작업 공간에 통계량 저장하기

다음 단계에 따라 MATLAB 작업 공간에 통계량을 저장합니다.

참고

플롯에 여러 데이터 세트가 포함되어 있는 경우, 각 데이터 세트에 대한 통계량을 개별적으로 저장합니다. 다른 데이터 세트에 대한 통계량을 표시하려면 데이터 통계량 대화 상자의 표시할 데이터 통계량: 목록에서 데이터 세트를 선택하십시오.

  1. 데이터 통계량 대화 상자에서 작업 공간에 저장 버튼을 클릭합니다.

  2. 통계량을 작업 공간에 저장 대화 상자에서 X 데이터, Y 데이터 또는 두 데이터 모두에 대한 통계량을 저장하는 옵션을 선택합니다. 그런 다음, 해당 변수 이름을 입력합니다.

    이 예제에서는 Y 데이터만 저장합니다. 변수 이름을 Loc2countstats로 입력합니다.

    Dialog specifying to save Y stats to a MATLAB struct named Loc2countstats.

  3. 확인을 클릭합니다.

    이 단계에서는 기술 통계량을 구조체로 저장합니다. 새 변수가 MATLAB 작업 공간에 추가됩니다.

새 구조체 변수를 보려면 MATLAB 프롬프트에 변수 이름을 입력하십시오.

Loc2countstats
Loc2countstats = 

  struct with fields:

       min: 9
       max: 145
      mean: 46.5417
    median: 36
      mode: 9
       std: 41.4057
     range: 136

코드 파일 생성하기

예제의 이 부분에서는 새 데이터로 플롯 형식과 플로팅된 통계량을 재현하는 MATLAB 코드가 포함된 파일의 생성 방법을 보여줍니다. MATLAB Online™에서는 코드 파일을 생성할 수 없습니다.

  1. Figure 창에서 파일 > 코드 생성을 선택합니다.

    이 단계에서 함수 코드 파일이 생성되어 MATLAB 편집기에 표시됩니다.

  2. createfigure의 파일 첫 라인에서 함수 이름을 좀 더 구체적인 이름(예: countplot)으로 변경합니다. 파일 이름을 countplot.m으로 지정하여 현재 폴더에 저장합니다.

  3. 새로운 난수 카운트 데이터를 생성합니다.

    rng('default')
    randcount = 300*rand(24,3);
  4. 다음을 입력하여 새 데이터와 다시 계산된 통계량으로 플롯을 재현합니다.

    countplot(t,randcount)

    Plot of Time and Vehicle Count variables with a horizontal line representing the y mean.