[TIL]_2025.06.17 (1) : 최종 프로젝트 7

JIYUU·2025년 6월 17일

최종프로젝트 중간 보고서


1️⃣ 프로젝트 개요


부산시 헬스케어

  • 프로젝트 이름: 부산시 고령자를 위한 치매 조기 검진 및 예방 시스템 구축

  • 분석 목적: 부산시는 전국 7개 특광역시 중에서 60세 이상 노인 비율이 32.13으로 1위이며, 치매 환자는 60세 이상 유병률 7.31, 65세 이상 유병률 9.84로 10명 중 1명이 치매인 상황에 따라, 부산시 고령자를 위해 치매 환자들의 주요 특징을 파악하여 치매 조기 검진 및 예방 시스템 구축을 위함

  • 데이터 출처: AIhub, Kaggle, 부산시 2024 지역사회건강조사서

  • 분석 대상 및 범위: 일반인/ 치매 고위험군 + 2024 부산시 고령자

  • 예상 결과물:

    • 치매 조기 진단을 85% 이상의 정확도로 예측하는 머신러닝 모델 구축
    • 시각화 자료:
    1. 부산시 고령자 및 치매 관련 현황 시각화
    2. 일반인/ 치매 환자의 라이프로그 데이터 특징 시각화
    3. 노쇼 고령자의 특징 시각화
    4. 치매 예측 모델을 통한 개인에게서 측정된 치매 예측 확률를 포함한 인지, 수면로그, 활동로그에 관련된 지표와 인지 기능에 관련된 게임, 지자체 치매 센터 및 병원 맵을 제공하는 모바일 기반 대시보드
    • 인사이트 요약: 노인복지정책 관점에서 본 치매 대응 체계 진단 결과, 정책 사각지대가 존재하며, 기존 시스템의 주요 한계로 고령자들이 치매안심센터를 직접 방문해야 하는 불편함이 지적됨. 이를 해결하기 위해, 치매 조기 검진 및 예방을 위한 비대면 치매 스크리닝 시스템을 구축하고, 부산시 고령자들을 위한 통합 앱 서비스를 제공함으로써 지역 내 고령자의 접근성과 편의성을 높이는 방안 제시

날씨 데이터로 열수요 예측

  • 프로젝트 이름: 지역난방 열수요와 날씨 빅데이터를 융합한 열수요 예측
  • 분석 목적: 지역난방공사의 열수요는 기후 요소와 밀접하게 연관되어 있으며, 기온, 습도, 강수량 등의 기상 변수는 난방 및 냉방을 포함한 에너지 수요에 중대한 영향을 미친다. 이러한 기후 요인의 변화는 지역난방 시스템의 운영 효율성과 수급 계획에 있어 핵심적인 고려 요소로 작용하며, 예측 모델 수립 시 기상 데이터를 통합하는 것은 수요 예측의 정밀도와 실효성을 높이는 데 필수적이다.
  • 데이터 출처 : 기상청 날씨마루 (https://bd.kma.go.kr/kma2020/svc/main.do)
  • 분석 대상 및 범위:
    • 학습 데이터 기간 - 2021년 ~ 2023년 (총 3개년) / 검증 데이터 기간 - 2024년 (총 1개년)
    • 열수요 데이터 - 한국지역난방공사 전국 19개 지사의 1시간 단위 열수요 실적
    • 기상 데이터 - 지사 인근 AWS, ASOS 지점 관측 및 객관분석자료 1시간 단위 데이터
  • 예상 결과물
    • 기상청 날씨마루 21년~23년 총 3개년 기간 동안의 날씨 데이터 시각화 자료
    • 날씨 빅데이터를 활용한 열수요 예측 모델

2️⃣ 데이터 개요


부산시 헬스케어

  • 데이터셋 설명 (2024 부산 지역사회건강조사서 데이터)
    • 데이터 수집 방법: 지자체 신청 → 승인 → 다운로드

    • 데이터셋의 크기: 7.6MB

    • 주요 변수 및 설명:

      변수명설명데이터 타입
      만나이응답자의 실제 나이 (만 나이 기준)object
      성별남성 / 여성object
      건강수준본인이 인식하는 현재 건강 상태object
      일반담배 현재 흡연 여부현재 일반담배를 흡연하는지 여부object
      음주 경험일생 동안 한 잔 이상의 음주 경험 여부object
      주중 평균 수면시간평일 기준 하루 평균 수면 시간object
      스트레스 수준스트레스를 느끼는 정도 (주관적 인식)object
      치매 환자 가족 여부가구원 내 치매 환자 가족 여부object
      고혈압 진단고혈압 진단을 받은 적이 있는지 여부object
      당뇨병 진단당뇨병 진단을 받은 적이 있는지 여부object
      인지장애 경험 여부일생 동안 인지장애 경험 여부object
      치매선별검사 여부일생 동안 치매선별검사 여부object
      ………
  • 데이터 전처리 과정
    • 데이터 변환(필요 시):

    • 209개의 컬럼을 단순화하기 위해, 지역사회건강조사서 지침서에 따라 프로젝트의 주제에 맞는 컬럼(128개)을 선별하고, 해당 컬럼의 의미에 맞게 재해석하여 컬럼명 변경하며 데이터 복잡성 해결

      <전>

      <후>


  • 데이터셋 설명 (AIHUB 치매 고위험군 라이프로그 데이터)
    • 데이터 수집 방법: 다운로드

    • 데이터셋의 크기: 89.414MB

    • 주요 변수 및 설명:

      변수명설명데이터 타입
      email사용자 식별용 이메일VARCHAR(200)
      activity_steps하루 동안 사용자가 걸은 총 걸음 수VARCHAR(10)
      activity_score일일 활동 수준 종합 점수VARCHAR(10)
      activity_cal_total활동, 휴식 등을 포함한 총 칼로리 소비량VARCHAR(10)
      activity_high하루 중 고강도로 활동한 시간(분)VARCHAR(10)
      activity_non_wear기기 미착용 시간VARCHAR(10)
      sleep_duration총 수면 지속 시간VARCHAR(10)
      sleep_efficiency수면 시간 대비 실제 수면 비율VARCHAR(10)
      sleep_score다양한 수면 요인 종합 점수VARCHAR(10)
      SAMPLE_EMAIL인지기능 검사의 대상자 이메일VARCHAR(200)
      MMSE_NUM해당 대상자가 검사한 누적 횟수INT
      Q12_TOTAL반복 감산 문제 총점INT
      Q13_1 ~ Q13_3앞에서 제시한 단어 3개를 회상VARCHAR(1)
      TOTAL인지기능 평가 총점INT
      ………
  • 데이터 전처리 과정
    • 결측치 처리 방법: 결측치 X
    • 이상치 탐지 및 조치: 이상치가 있긴 하나, 가능한 수치로 따로 조치하지 않음
    • 데이터 변환(필요 시):
    1. CONVERT 열에 담긴 값을 배열화 하여 비어있는 다른 컬럼에 넣어준 뒤 CONVERT행 삭제

    2. 라벨링 데이터와 라이프로그 데이터가 분리 되어 있었음으로, 라벨링 데이터와 라이프로그 데이터를 EMAIL기준으로 조인하여 “진단” 컬럼 생성하여 일반인/ 치매환자 구분

    3. 컬럼 이해 및 직관성을 위해 모두 한국어로 변경

    4. 파생변수 생성 1 : 휴식 시간을 활용하여 “휴식 시간대” 파생 변수 생성

       <전> - act

      <후>- act

      <전> - sleep

      <후> - sleep

          mmse(인지기능) → 진행중

  • 데이터셋 설명 (Kaggle 병원 노쇼 데이터)
    • 데이터 수집 방법: 다운로드

    • 데이터셋의 크기: 10.7MB

    • 주요 변수 및 설명:

      변수명설명데이터 타입
      환자번호고유한 환자 식별 번호int64
      예약번호진료 예약 건의 고유 식별 번호int64
      성별환자의 성별 (남성 / 여성)object
      진료예약일진료를 예약한 날짜 및 시간datetime64[ns, UTC]
      진료일실제 진료가 예정된 날짜datetime64[ns, UTC]
      나이환자의 나이int64
      진료위치환자가 진료를 받을 지역 또는 병원 위치object
      고혈압고혈압 진단 여부 (0: 없음, 1: 있음)int64
      당뇨병당뇨병 진단 여부 (0: 없음, 1: 있음)int64
      노쇼예약한 진료에 나타나지 않았는지 여부 (0: 내원함, 1: 노쇼)int64
      ………
  • 데이터 전처리 과정
    • 결측치 처리 방법: 결측치 X
    • 이상치 탐지 및 조치: 이상치가 있긴 하나, 가능한 수치로 따로 조치하지 않음
    • 데이터 변환(필요 시):
    1. 노쇼컬럼 (0,1) 불리언으로 바꾸기

    2. 진료예약일, 진료일, 환자번호 데이터 타입 변경

    3. 컬럼 이해 및 직관성을 위해 모두 한국어로 변경

    4. 파생변수 생성 1 : (진료일 - 진료예약일)로 “기다림“ 생성

    5. 파생 변수 생성2 : 나이를 이용하여 “연령대” 생성

       <전>

      <후>


날씨 데이터로 열수요 예측

  • 데이터셋 설명
    • 데이터 수집 방법: 날씨마루 기상청 - 열수요, 기상 데이터

    • 데이터셋의 크기: 26.5 MB

    • 주요 변수 및 설명:

      변수명설명데이터타입
      tm시간int64
      branch_ID지사명int64
      ta기온object
      wd풍향float64
      ws풍속float64
      rn_day일 강수량float64
      rn_hr1시간 강수량float64
      hm상대 습도float64
      si일사량float64
      ta_chi체감온도float64
      heat_demand열수요int64
  • 데이터 전처리 과정
    • 결측치 처리 방법:
    1. 기상 관측 장비의 오류나 고장 등의 이유로 관측이 진행 되지 않았을 때 -99.0, -9.9 로 표시 → -99.0, -9.9 값 결측치(nan)로 변환

      1차 결측치 처리 (파생변수로, “계절”생성)

    2. 겨울철 체감온도 식을 이용해 기온, 풍속, 체감온도 결측치 대체

      체감온도 = 13.12 + 0.6215⋅Ta −11.37⋅V^0.16 +0.3965⋅V^0.16⋅Ta
      Ta: 기온 (°C) 
      V: 풍속 (km/h) -> 제공된 데이터와 단위가 달라서 변환 필요  1 m/s=3.6 km/h
      체감온도 : 체감온도
    3. 기온과 풍속 → 체감온도로 계산

    4. 겨울철 체감 온도 결측 값 처리

      체감온도와 풍속 → 기온 계산
      풍속 > 1.3이면 체감온도가 기온으로 대체되기 때문에 반대로, 체감온도를 기온에 넣으면 됨
      
      기온 결측치 5438 → 5403 으로 축소 35개 결측치 대체
    5. 기온과 체감온도가 다를 때, 체감온도와 기온으로 풍속 계산

      -> 풍속 결측치 9298에서 5545으로 결측값 3753개 대체

    6. 2차 결측치 처리 (파생변수로, “계절”생성)

      여름철 체감온도 구하는 식을 이용 해 기온, 습도, 체감온도 결측치 대체
      
      체감온도 = −0.2442 + 0.55399 * Tw + 0.45535 * Ta − 0.0022 * Tw^2 + 0.00278 * Tw * Ta + 3.0
      Ta: 기온 (°C) 
      RH : 상대습도(%)
      Tw : 습구온도(Stull의 추정식** 이용)
      Tw = Ta * ATAN[0.151977(RH+8.313659)^(1/2)] + ATAN(Ta+RH) - ATAN(RH - 1.67633) +0.00391838RH^(3/2)* ATAN(0.023101*RH) - 4.686035
    7. 기온과 상대습도로 체감온도 계산해 결측값 대체

      -> 체감온도 결측값 12에서 2로 10개 결측값 대체

    8. 무작위 대입법을 활용해 기온과 체감온도로 상대습도 계산

      → 정규분포 이용해 샘플링 상대습도 결측값 15260에서 7552로 7708개 결측값 대체

    9. 3차 결측치 처리 (파생변수로, “일강수량 기준일”생성)

      일강수량 측정 기준 (x일): x일 01시부터 x+1일 00시까지의 시간 강수량 누적합 -> 최종 해당날 토탈 강수량 = x+1일 00시 일 강수량
      이 측정 기준을 역으로 이용하여, x+1일의 00시 일 강수량이 0이면 x일의 01시~x+1일의 00시까지 일 강수량 및 시간 강수량 결측치 0으로 대체 가능
      데이터 내 같은 시간이 존재함으로, 혹시 몰라서 지사별로 (지사, 시간)을 pk처럼 보고 지사별로 나눠서 진행
      
      -> 일강수량 18626에서 17621으로 1005개 결측값 대체
         시간 강수량 19154에서 17904으로 1250개 결측값 대체
    10. 4차 결측치 처리

      일강수량 측정 기준 (x일): x일 01시부터 x+1일 00시까지의 시간 강수량 누적합 
      이 측정 기준을 역으로 이용하여, 위아래 행 비교 후, 일 강수량 및 시간 강수량 채워넣을 수 있는건 채워넣기
      데이터 내 같은 시간이 존재함으로, 혹시 몰라서 지사별로 (지사, 시간)을 pk처럼 보고 지사별로 나눠서 진행
      
      → 일 강수량 결측값 2개 대체
    11. 5차 결측치 처리

      → 앞뒤 행의 기온 컬럼이 결측치가 아니면, 지사 별로 앞뒤 행의 평균 기온치로 결측치 대체

    12. 6차 결측치 처리

      해가 안뜨는 오후 9시 ~ 오전 5까지의 일사량 결측치를 0으로 대체 
      해뜨는 시간에는 위아래 컬럼의 평균값으로 대체
      
      → 일사량 결측치 232906에서 48590으로 결측값 184316개 대체
    13. 7차 결측치 처리

      예측 불가능한 풍향 결측치 제거, 해결하지 못한 일사량, 시간 강수량, 기온, 상대습도, 체감온도 결측치 제거
      종속변수(열수요)의 결측값 행 제거
      
      결측치 처리 완료
    • 이상치 탐지 및 조치:

      Type 1. 이상치 대체

    1. 체감온도 이상치 체크

      → IQR 기법을 활용 체감온도는 예상 체감온도로 덮어쓰기, 체감온도 차이는 0으로 설정해서 이상치 대체

      Type 2. 이상치 제거

    2. 체감온도 이상치 체크

      → 이상치 제거

    • 데이터 변환(필요 시):
    1. 영어 컬럼명 한국어로 변경
    2. 시간 컬럼을 date 형식으로 변환
    3. 년, 월, 일, 요일, 시각, 계절 파생 변수 생성

3️⃣ 탐색적 데이터 분석(EDA)


부산시 헬스케어

  • 2024 부산 지역사회건강조사서 데이터
  1. 기술 통계 분석
    • 시각화 모음
      • 응답 번호로 기록되어 있어서, 총 응답자의 남녀 비율만 확인
  2. 데이터 시각화
    • 시각화 모음
  3. 패턴 및 트렌드
    • 진행 예정
  4. 주요 인사이트 도출
    • 인사이트 정리

💡부산시 65세 이상 고령자 중 치매 검사를 받지 않은 7780명 중 1918명 정도가 인지 장애 경험 존재 -> 약 25%이고, 인지장애 경험을 겪은 사람들 중 인지장애 상담을 받은 사람과 안 받은 사람은 약 17배 정도 차이를 보임
→ 치매 검사 및 인지장애 상담에 대한 인식 개선 및 홍보가 필요함

💡 부산시 65세 이상 고령자 기준

  • 인지장애 경험자 중 일반 담배 흡연 경험자: 518명
  • 인지장애 경험자 중 일반 담배 비흡연자: 970명
  • 인지장애 경험자 전체 : 1488명 518/1488 = 0.348 = 34.8%
  • 인지장애 미경험자 중 일반 담배 흡연 미경험자: 1248명
  • 인지장애 미경험자 전체: 1915명 667/1915 = 0.348 = 34.8→ 두 그룹 모두 흡연 경험자의 비율이 비슷함 흡연 여부로 인지장애 경험 여부와 유의미한 차이가 보이지 않음
  • 인지장애 경험자 중 전자담배 2016-04-29 00:00:00+00:00흡연 경험자 : 506명
  • 인지장애 경험자 중 전자담배 흡연 미경험자 : 970명
  • 인지장애 경험자 전체 : 1476명 = 506/1476 = 34.3%
  • 인지장애 미경험자 중 전자담배 흡연 경험자 : 697명
  • 인지장애 미경험자 중 전자담배 흡연 미경험자 : 1219명
  • 인지장애 미경험자 전체 : 1916명 697/1916 = 36.4%
    → 여기도 일반 담배와 마찬가지로 흡연 경험과 인지장애 경험의 유의미한 차이는 보이지 않음

  • AIHUB 치매 고위험군 라이프로그 데이터
  1. 기술 통계 분석
    • 시각화 모음
      • act
      • sleep
      • mmse → 진행중
  2. 데이터 시각화
    • 시각화 모음
      • 비활동 알람 별 컬럼들의 평균 비교
      • 비활동 알람 별 컬럼들의 최대값 비교
      • 비활동 알람 별 컬럼들의 최소값 비교
      • 휴식 시간 별 컬럼들의 평균 비교
      • 휴식 시간 별 컬럼들의 최대값 비교
      • 휴식 시간 별 컬럼들의 최소값 비교
      • 진단 분류(정상, 치매)별 변수들의 평균 그래프
      • sleep 컬럼 별 분포도
      • sleep 컬럼별 상관관계 히트맵
      • 깬 시간 vs 램 수면 시간
      • 램 수면 시간 vs 뒤척임 비율
      • 수면 효율
      • 온도변화
      • 뒤척임 비율 vs 수면 방해 점수
      • 수면 방해 점수 vs 수면 효율 점수
      • sleep 이상치 박스플롯
      • 수면 시간 분포 히스토그램
      • 수면 시간과 타 컬럼 산점도
      • 평균 심박동과 타 컬럼 산점도
      • 수면 단계 별 평균 시간 막대 그래프
      • 평균 심박/호흡 수 치매/정상 비교
      • 수면 평균 시간별 정상 치매 비교
      • 수면 시간 최댓값 치매 진단 여부
      • 수면 시간 최솟값 치매 진단 여부
      • 수면 효율, 뒤척임 비율, 수면 종합 점수 최댓값, 최솟값 진단 여부
  3. 패턴 및 트렌드
    • 시각화 모음
      • 5분당 수치 시각화
      • 평일과 주말 운동량 비교
      • 계절별 운동량 비교
  4. 주요 인사이트 도출
    • 인사이트 정리

💡비활동 알람 6회를 받은 사람들이 고강도 활동 시간, 고강도 운동 강도, 운동 빈도 점수의 평균 값이 높게 나오고 있음.
또한, 최대값 분포 그래프에서는 알람 6회를 받은 사람들이 비활동 시간의 최대값이 가장 낮은 것으로 보이며, 알람을 많이 받을수록 비활동 시간을 조금 줄어나가는 방향성이 보임 (4→5→6 순으로 비활동 시간 최대값 줄어듬)
최소값 그래프에서는 알람 6회를 받은 사람의 하루 평균 운동 강도, 활동 칼로리, 사용 칼로리,움직인 거리, 고-중-저 운동 강도 및 운동 시간, 운동 빈도 점수, 운동량, 활동 유지 점수, 매일 걸음 수, 활동 총 시간 등 활동량 관련된 지표의 최소값들이 모두 매우 높음을 확인할 수 있음

💡평일에 비해 주말에 운동량이 감소하는 추세를 보이고 있으며, 전반적으로 일반인 보다는 치매환자들의 운동량이 많았음. 예상했던 것과 같이, 겨울철에 운동량이 적어지는 것을 확인할 수 있었음
💡치매 환자들은 정상 대상자들 비에 수면 중 뒤척임이 많았으며, 이로 인해 램 수면 시간 평균이 정상 대상자에 비해 비교적 낮았다. 다만, 램 수면 시간 평균이 낮음에도 불구하고, 치매 대상자들의 수면 효율은 정상 대상자와 큰 차이가 없었다.
💡 박스 플롯으로 이상치들을 확인 했으나, 차이가 크긴 하지만 이상치로 분류할 정도의 값은 아님 정상 범주에서 높거나 낮게 나옴결론: 치매 환자는 평균 수면 시간이 길지만, 얕은 수면 비율이 더 높았고, 깊은 수면 과 램 수면의 비율은 낮았음 → 수면효율과 수면 종합 점수 값은 미미하지만 치매 환자가 더 낮게 나옴 하지만 가벼운 수면시간은 치매 환자 더 높게 나옴, 얕은 수면시간이 치매와 관련 있어 보임.평균, 최저 심박수가 치매환자 정상에 살짝 낮게 나옴→ 심박 수로 봤을 때 정상과 큰 차이가 없다.


  • Kaggle 병원 노쇼 데이터
  1. 기술 통계 분석

    • 시각화 모음
  2. 데이터 시각화

    • 시각화 모음
      • 전체 데이터 시각화 파일
      • 65세 데이터 시각화 파일
      • 65세 노쇼 데이터 시각화 파일
  3. 패턴 및 트렌드

    • 진행 예정
  4. 주요 인사이트 도출

    • 인사이트 정리

💡- 65세 데이터
1. 당뇨병 환자면서 노쇼를 하는 사람의 수는 당뇨병 환자가 아닌 사람에 비해 낮지만 비율로 따졌을 때, 더 높게 나타난다.
2. 고혈압 환자면서 노쇼하는 사람의 비율과 실제 인원이 더 높게 나타나고 있음
3. 문자 수신별 노쇼 비율이 인원수에 비해 높게 나옴
4. 성별 노쇼 비율 여성이 높게 나옴
→ 장애, 알코올 여부는 크게 상관 없어보임
→ 질병에 따른 노쇼 여부로 보면 좋을 듯, 문자 수신 여부로 치매 위험과 엮어보고 싶음
- 65세 노쇼 데이터
1. 노쇼를 보이는 고령자의 경우, 고혈압의 인원수가 862 대비 1370으로 많이 차이남
2. 노쇼를 보이는 고령자의 경우, 문자 수신여부 인원수가 1364 대비 868으로 많이 차이남→ 나머지는 사용하기 조금 애매하지만, 고혈압, 문자 수신에 관련해서 인사이트 도출 가능


날씨 데이터로 열 수요 예측

  1. 기술 통계 분석
    • 시각화 모음
      • 평균, 중앙값, 표준편차 등 기초 통계량

        변수명countmeanmin25%50%75%maxstd
        시간499,3012022-07-02 12:00:002021-01-01 01:002021-10-01 18:002022-07-02 12:002023-04-02 06:002023-12-31 23:00—
        기온486,30413.55-19.75.214.722.737.810.86
        풍향480,486205.81-9.9118.5220.8297.1360.0105.14
        풍속480,4861.440.00.51.22.111.91.19
        일강수량480,6751.920.00.00.00.0326.59.65
        시간 강수량480,1470.150.00.00.00.092.51.24
        상대 습도459,58466.162.550.367.684.0100.021.15
        일사량450,7100.650.00.00.061.123.920.92
        체감온도499,28113.87-24.74.415.024.337.111.87
        열수요499,27895.870.025.055.0116.0966.0115.26
        연도499,3012022.02021.02021.02022.02023.02023.00.82
        월499,3016.531.04.07.010.012.03.45
        일499,30115.721.08.016.023.031.08.80
        시각499,30111.500.06.012.018.023.06.92
  2. 데이터 시각화
    • 시각화 모음
      • df1 = 결측치만 보간한 데이터셋
      • df2 = 결측치 보간 후 이상치 제거한 데이터셋
      • df3 = 결측치 보간 후 이상치를 대체한 데이터셋
      • df1
      • df2
      • df3
      • df1 - 이상치 확인을 위한 박스플롯
  3. 패턴 및 트렌드
    • 시각화 모음
      • df1 - 기온과 열수요 산점도 그래프
      • df1 - 계절별 열수요 분포 확인
      • 지사별 열수요 분포
      • 범주형 데이터 막대그래프
  4. 주요 인사이트 도출
    - 인사이트 정리

    💡- 체감온도는 기온과 상대습도를 공식에 대입하여 구하기 때문에 피어슨 상관계수가 0.99가 나올 수 밖에 없음 > 따라서 기온을 제거

  • 기온과 열수요의 피어슨 상관계수는 -0.56수준으로 음의 상관관계를 보여 기온이 올라갈 수록 열수요가 감소하는 패턴을 보인다.
  • 지사별로 지역적 위치가 다르고, 이에 따라 연평균 기온에 차이가 있어 열수요에도 큰 차이를 보이고 있음

4️⃣ 현재까지의 진행 상황


부산시 헬스케어

  • 진행한 작업
    • 노쇼 : 결측치 제거, 이상치 처리 완료, 주요 변수의 기술 통계 및 시각화 완료
    • 라이프로그 : 결측치 제거, 이상치 처리 완료, 주요 변수의 기술 통계 및 시각화 완료
    • 2024 부산시 지역사회건강조사서 : 209개 컬럼 단순화 및 컬럼명 변경 완료
  • 해결된 문제
    • 209개의 컬럼을 단순화하기 위해, 지역사회건강조사서 지침서에 따라 프로젝트의 주제에 맞는 컬럼(128개)을 선별하고, 해당 컬럼의 의미에 맞게 재해석하여 컬럼명 변경하며 데이터 복잡성 해결
  • 진행 중 문제
    • 각 데이터를 연결 짓기 어려움
    • 해당 프로젝트와 기존에 개발된 프로그램과의 차별점이 필요함

날씨 데이터로 열수요 예측

  • 진행한 작업
    • EDA
      1. 날씨데이터 결측치 제거
      2. 이상치 처리
      3. 기술 통계 분석
      4. 주요 변수들 상관관계 확인
    • 시각화
      1. 이상치 탐지를 위한 컬럼별 박스플롯
      2. 데이터 분포를 보기 위한 히스토그램 분포도
      3. 컬럼별 상관관계 - 히트맵
      4. 컬럼별 관계 - 산점도
      5. 범주형 데이터 막대 그래프
      6. 지사별 열수요 분포 - 박스플롯
      7. 기온과 열수요 관계 - 산점도 그래프
    • 머신러닝 및 딥러닝을 이용한 열수요 예측
      1. LightGBM 단독
        1. LIGHTGBM df2 기반 모델(벡터 변환 X) : RMSE 19.2
      2. Stacking
        1. df1 기반 + 테스트 df1 (XGBoost + Lasso + CatBoost = LightGBM) : RMSE 18.1
        2. df1 기반 (XGBoost + RandomForest + GBM + Linear Regressor = LightGBM) : RMSE 21.29
        3. df1 기반 (XGBoost + RandomForest + GBM + Linear Regressor(Lidge) = LightGBM) : RMSE 21.28
        4. df4 기반 (XGBoost + RandomForest + GBM + Linear Regressor(Lasso) = LightGBM) : RMSE 21.16
      3. Bi-LSTM
        1. df4 RMSE 16.73
      4. Transformer
        1. RMSE 43.97
      5. GRU
        1. RMSE 85.68
  • 해결된 문제
    • 결측치 처리
    • 여름철/겨울철 체감온도 공식과 실제 데이터간의 차이 (기상청 공식 답변으로는 차이가 있는 것이 맞다고 확인받음)
  • 진행 중 문제
    • RMSE 값 낮추기

5️⃣다음 단계 계획


부산시 헬스케어

  • 추가로 분석할 내용
    • 부산시 지역사회건강조사 데이터 추가 EDA
    • 라이프로그 MMSE 부분 추가 EDA
    • Kaggle 병원 노쇼 데이터, AIHUB 치매 고위험군 라이프로그 데이터, 2024 부산 지역사회건강조사서 데이터 논리적 결합 (데이터 물리적 JOIN ❌) 가능성 검토
    • 머신러닝을 통한 예측모델 구축
    • API 활용하여 CIST 검사 구현, 라이프 스타일 개선 제안 기능 구현
  • 예상 일정
    • 부산시 지역사회건강조사, 라이프로그 EDA (6/16 ~ 6/20)
    • 데이터끼리의 연관성 도출 (6/16 ~ 6/20)
    • 예측 모델 구축 및 성능 개선 (6/21 ~ 6/23)
    • 프로젝트 ‘또릿’ 대시보드 설계 및 구현 (6/23 ~6/25)
    • 발표 PPT 및 대본 작성 (6/25)
    • 멘토링 (현재 ~ 6/26)

날씨 데이터로 열수요 예측

  • 추가로 분석할 내용
    • 각 모델별 하이퍼 파라미터 조정으로 RMSE 성능 개선
  • 예상 일정
    • ~06/27 까지 하이퍼 파라미터 조정 및 일 2회 검증 실시

6️⃣ 부록


  • 사용된 툴 및 라이브러리
    • Python(pandas, matplotlib, seaborn, Tensorflow, PyTorch, optuna 등)
    • Tableau
  • 참고 자료 및 출처

📌 데이터 출처

[헬스케어]

[열수요 예측]

📌 참고자료

https://data.busan.go.kr/bdip/_부산시 빅데이터웨이브

노인복지정책의 관점에서 본 치매대응체계 진단과 과제.pdf

2024년 부산광역시 치매 관련 통계 현황 자료.pdf

초고령사회 부산의 치매 대응방안.pdf

https://www.kifuture.com/mobile/article.html?no=153438

0개의 댓글