ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ChatGPT로 데이터 분석 공부하기 #2 분산
    ChatGPT로 공부하기/데이터 분석 2024. 11. 6. 10:46

     

    1. 기본 개념


    분산(Variance)은 데이터 값들이 평균에서 얼마나 떨어져 있는지를 나타내는 지표입니다. 데이터의 분포와 변동성을 측정하는 데 유용하며, 값들이 평균을 기준으로 얼마나 퍼져 있는지, 즉 변동의 크기를 보여줍니다.

    분산은 다음 공식으로 계산됩니다:

     

     

    여기서:

    • X 는 각 데이터 값,
    • μ 는 데이터 집합의 평균,
    • N 은 데이터의 총 개수입니다.

    분산이 크면 데이터가 평균에서 널리 퍼져 있고, 분산이 작으면 평균 주위에 집중되어 있음을 의미합니다. 분산은 표준편차(standard deviation)를 구할 때 사용되며, 표준편차는 분산의 제곱근입니다.

    2. Python Jupyter Notebook 샘플 코드


    Jupyter Notebook에서 Python을 사용해 분산을 계산해 보겠습니다.

    import numpy as np
    
    # 예제 데이터
    data = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
    
    # 1. 분산 계산
    variance_value = np.var(data)
    print("분산:", variance_value)
    
    # 2. 직접 분산을 계산하는 경우 (공식 사용)
    mean_value = np.mean(data)
    variance_manual = sum((x - mean_value) ** 2 for x in data) / len(data)
    print("수식으로 계산한 분산:", variance_manual)
    
    

    코드 설명

    • np.var(data): Numpy의 var 함수를 사용하여 분산을 계산합니다.
    • sum((x - mean_value) ** 2 for x in data) / len(data): 분산의 수식을 직접 사용하여 계산합니다.

    3. 실제 업무에서의 분산 활용 예시


    업무에서 분산은 데이터의 변동성을 파악하고 예측의 불확실성을 평가하는 데 자주 사용됩니다. 예시를 들어 보겠습니다.

    • 품질 관리: 제조업에서 제품의 크기, 무게, 품질 등 여러 속성의 분산을 계산하여 생산 공정의 일관성을 관리합니다. 분산이 높다면 품질 관리가 필요하다는 신호가 될 수 있습니다.
    • 금융 분석: 주식 수익률의 분산을 분석하여 투자 리스크를 평가합니다. 변동성이 크면 투자 리스크도 크다는 것을 의미합니다.
    • 고객 행동 분석: 특정 지표의 분산을 계산하여 고객군의 행동이 얼마나 다양한지 분석합니다. 예를 들어, 구매 금액의 분산을 통해 고객 간의 소비 패턴 차이를 파악할 수 있습니다.

    분산은 데이터의 다양한 경향과 패턴을 파악하고 이를 통해 보다 깊은 인사이트를 얻는 데 매우 유용합니다.

    예제코드:

    한 온라인 쇼핑몰에서 고객들의 1주일간 구매 금액 데이터를 수집했습니다. 이를 통해 고객 간 구매 패턴의 차이를 분석하고자 합니다. 구매 금액의 분산을 계산하여 고객들의 소비 패턴이 일관적인지, 아니면 차이가 큰지를 확인해 보겠습니다.


    Python Jupyter Notebook 샘플 코드

    import numpy as np
    import pandas as pd
    
    # 가상의 고객 구매 금액 데이터 (단위: 달러)
    data = {
        "CustomerID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        "PurchaseAmount": [120, 150, 130, 80, 200, 110, 90, 220, 160, 140]
    }
    
    # 데이터프레임 생성
    df = pd.DataFrame(data)
    
    # 평균 구매 금액 계산
    mean_purchase = df["PurchaseAmount"].mean()
    print("평균 구매 금액:", mean_purchase)
    
    # 구매 금액의 분산 계산
    variance_purchase = df["PurchaseAmount"].var()
    print("구매 금액의 분산:", variance_purchase)
    
    # 결과 해석
    if variance_purchase > 3000:
        print("구매 금액의 분산이 높습니다. 고객 간 소비 패턴 차이가 큽니다.")
    else:
        print("구매 금액의 분산이 낮습니다. 고객 간 소비 패턴이 비교적 일관적입니다.")
    
    

    코드 설명

    1. 데이터프레임 생성: 고객 ID와 각 고객의 구매 금액 데이터를 data 딕셔너리로 만들고, 이를 DataFrame으로 변환합니다.
    2. 평균 구매 금액 계산: mean() 함수를 사용하여 PurchaseAmount의 평균 구매 금액을 계산합니다.
    3. 구매 금액의 분산 계산: var() 함수를 통해 구매 금액의 분산을 계산합니다.
    4. 결과 해석: 분산 값이 특정 기준 이상(예: 3000)을 넘는 경우, 고객 간 소비 패턴 차이가 크다는 메시지를 출력합니다.

    예제 데이터 해석

    이 예제에서는 구매 금액의 분산이 높다면 고객 간 소비 패턴에 차이가 크다고 볼 수 있습니다. 따라서, 고객의 구매 패턴이 일관적이지 않다면, 맞춤형 마케팅을 통해 특정 고객군에 맞는 전략을 설계하는 등의 의사결정을 할 수 있습니다.

    이와 같은 분산 분석은 고객의 행동 패턴을 이해하고 이를 기반으로 비즈니스 전략을 수립하는 데 큰 도움이 됩니다.

     

Designed by Tistory.