생활데이터를 활용한 배고픔 분석입니다.

업데이트:

잘 시간인데 배고프다.

나는 지금 꽤 규칙적으로 생활한다. 기상 알람부터, 식사 시간 알람, 심지어 씻는 시간까지 알람 10개 이상을 맞춰놓고 살고 있다. 구직기간에 이렇게라도 안하면 늘어질 것 같다고 판단한 것이 그 이유이다.
그런데, 나름 규칙적으로 생활하고 먹고 자는데도 어떤 날은 자기 전 배가 고프고, 어떤 날은 배가 안고팠다. 배가 고프다고 배달을 시켜먹기엔 돈도 부담이고 혼자 다 먹지도 못하고, 그냥 자자니 뭔가 서럽고.

자기 전 배고픔을 조금이라도 덜 느껴보기 위해 직접 데이터를 수집하고, 분석해보았다. (학습과 생존을 목표로?)

데이터 수집하기

기간: ‘19.10.23 ~ ‘20.01.05

  1. 데이터 수집 목록
    • 세 끼 식사 여부
      • 식사 양은 측정하기 어렵기 때문에, 균일하다고 가정했다.
    • 아침 운동 여부
      • 아침에 하는 운동이지만, 배고픔에 영향을 끼치지 않을까 궁금하여 수집했다.
    • 외부 활동 종류
      • [없음, 외출, 데이트, 축구, 친구] 다섯가지로 분류하여 수집했다.
    • 걸음수
      • 스마트폰 걸음 수 측정기를 활용했다.
    • 공부 시간
      • 공부 시 어플을 활용하여 공부 시간을 측정했다.
  2. 데이터 수집 방법
    • 수기로 직접 기록, 스마트폰 데이터 활용 image
  3. SQL로 데이터 이동
    • 데이터의 수가 적어, 오류는 수기 검수
    • 여행 기간 중 기록하지 못한 NULL행 제거
    • 총 75개의 데이터 획득! image

데이터 살펴보기

일할 때 다른 사람(고객)의 데이터는 자주 봤어도, 내 데이터를 이렇게 정리한 것은 처음인 것 같다. 바라보자니 궁금한 것들이 와장장 생겼다.

  • 아침은 몇 번 먹었을까?
    SELECT breakfast, COUNT(breakfast) AS cnt
    FROM project
    GROUP BY breakfast
    ORDER BY breakfast;
    

    image

    • 원래 아침을 안 먹었었는데, 아침을 먹은 날이 39일이나 된다.
      • 요리를 독학하고있는데, 자연스레 아침 식사 수가 늘어난 것 같다.
  • 점심을 먹은 날, 외부 활동 별 평균 공부 시간은? 3시간 이상 한 것만 추려보기!
    SELECT activity, AVG(study) AS avg
    FROM project
    WHERE lunch = "먹음"
    GROUP BY activity
    HAVING avg >= 3;
    

    image

    • 당연하게도, 집에만 있었을 때에 평균 공부 시간이 8시간으로 길었다.
    • 외출을 하거나 데이트를 하는 날에는 평균 3시간 정도 공부를 한다.
      • 외부 활동이 있는 날에는 3시간 동안 할 수 있는 짧은 공부거리를 하는게 좋겠다. (파이썬 문제 풀기와 같은?)
    • 병원에 간 날은 공부를 11시간으로 꽤나 오래했다.
      • 목이 아파서 도수치료를 받았는데, 보험이 된다 한들 돈이 꽤 지출된다. (지갑이 마르는 소리때문에 공부를 더 하게되는건 아닌지…)
  • 어떤 활동을 가장 많이 했을까?
    SELECT activity, COUNT(activity) AS cnt
    FROM project
    GROUP BY activity
    ORDER BY 2 DESC
    LIMIT 1;
    

    image

    • 역시 집에 있던 날이 많았다.
    • 집에서 공부, 식사 모두 해결할 수 있어서 콩박혀있는 시간이 많았다.

배고픔 분석하기

어떤 활동이 배고픔에 영향을 끼쳤을까?

1) 식사 데이터 분석

  • 식사 여부 분석 image
    • 아침 식사는 먹은날과 안먹은날의 빈도가 비슷했다.
    • 점심과 저녁은 거른 날이 거의 드물었다.
  • 식사 여부에 따른 배고픔 유무 image
    • 아침을 거른다고 배고픔에 큰 영향을 끼치지 않는 듯 하다.
    • 점심, 저녁 식사는 거른 날이 거의 없기 떄문에 유의미하지는 않다.
    • 저녁을 안 먹은 빈도는 낮았지만, 안 먹으면 확실히 자기 전 배가 고팠다.
    • 식사가 직접적인 원인일 것이라 생각했지만, 다른 요소가 배고픔에 더 영향을 많이 끼칠 것으로 보여진다.

2) 아침 운동 데이터 분석

  • 아침 운동에 따른 배고픔 분석 image
    • 아침 운동을 한 날과 안 한 날의 빈도는 큰 차이가 없다.
    • 하지만 아침 운동을 한 날은 상대적으로 배고플 확률이 약간 높았다.
      • 차이가 유의미하다고 볼 수는 없을 것 같다.

3) 외부 활동 데이터 분석

  • 외부 활동 수 비교 / 활동 별 배고픔 유무 image
    • 집에만 있던 날이 제일 많았다.
      • 외부 활동이 없음에도 절반 이상의 날들이 배가 고팠다.
      • 집에서 어떤 활동을 했는지 같이 분석할 필요가 있어보인다.
    • 외출, 데이트, 친구 등의 활동이 있는 날엔 배가 고픈 날이 상대적으로 적었다.
      • 바깥에 나가서 저녁을 먹고 들어오는 경우가 많았기 때문으로 해석된다.
      • 특히 친구를 만난 날은 100% 배가 안 고팠다. 약속은 좋은 영양소입니다
    • 축구를 한 날은 모두 배가 고팠다.
      • 매주 목요일 밤 10시부터 12시까지 하고 있다.
      • 집에 돌아오면 새벽이어서 매번 배고픔에 허덕인 기억이 있다.
    • 병원에 갔던 날은 배가 고팠지만, 빈도도 적고 배고픔과의 큰 관계성이 없어보인다.

4) 걸음 수 데이터 분석

  • 날짜 별 걸음 수 image
    • 날짜 별 데이터로는 패턴을 확인할 수 없었다.
    • 요일 별 데이터로 다시 나눠보니, 월요일에는 걸음 수가 평균 1,000걸음으로 제일 적다.
  • 평균 걸음 수와 배고픔 유무 image
    • 많이 걸은 날이 오히려 배가 안 고팠음
      • 집에 있으면 걸을 일이 없으니, 활동 별로 나눠보면 다르게 나오지 않을까?
    • 외부 활동 별로 나누니, 외부 활동이 있던 날 많이 걸었음

5) 공부 시간 데이터 분석

  • 공부 시간과 배고픔 image
    • 배가 고픈 날은 평균적으로 공부를 많이 했다.
    • 활동별로 나눠보니, 외부 활동이 없던 날 평균 공부 시간이 높았다.
  • 공부 시간과 배고픔(2) image
    • 배가 고팠던 날은 확실히 공부 시간이 짧은 것을 볼 수 있다.
    • 평균 공부 시간이 길었던 외부활동이 없던 날을 따로 살펴보았다.
      • 배가 안 고팠던 날은 5시간 내외의 공부 시간을 보인다.
      • 공부 시간이 5시간을 넘어, 10시간 이내가 되면 배고플 확률이 높아지겠다.

6) 각 요소 별 상관분석

  • 상관관계 분석 image
    • 아침 운동과 아침 식사: 0.36
      • 아침에 운동을 하면 식사를 한다.
      • 운동을 하면 배가 고프니 어찌 보면 당연한 말이겠지만, 데이터로도 나오니 신기하다.
      • 1), 2)의 결과, 아침 식사 그리고 아침 운동 모두 저녁의 배고픔과는 큰 관련이 없어보였다.
    • 걸음 수와 외출 없음: -0.61 / 공부와 외출 없음: 0.64
      • 외출이 없으면 자연히 걸음 수가 줄어들고 공부 시간이 늘어난다.
      • 4), 5)에서 살펴본 것과 비슷한 결과가 상관관계에서도 나타났다.
    • 축구와 배고픔: 0.40 / 공부와 배고픔: 0.47
      • 3)에서 본 것과 같이 밤에 축구를 한 날에는 새벽에 배가 고픈 경우가 많았다.
      • 5)에서 살펴본 것 처럼, 공부 시간이 5시간 이상으로 길어지면 배고픔을 느꼈었다.

요약해보기

배고픔에 영향을 끼친 원인은 무엇이었을까?

  • 식사 여부는 배고픔에 큰 영향을 끼치지는 않았다.
    • 어떤 활동을 했는지, 약속이 있었는 지가 더 큰 영향을 끼쳤다.
  • 외출, 친구와의 약속, 데이트가 있는 날에는 배가 별로 안고팠다.
    • 저녁에 약속을 잡는 경우가 많고, 자연스레 저녁을 먹는 경우가 많았다.
  • 축구를 한 날은 100% 배고팠다.
  • 집에서 안나가고 공부를 오래 하면 배가 고팠다.

그럼 어떻게 해야 배가 안 고플까?

실질적인 해결책을 달라!

  • 약속을 자주 잡기
    • 너무 집에만 있지 말고, 약속, 특히 저녁 약속을 잡자.
    • 유사시엔 백수 빌붙기 스킬도 가능하다.
  • 축구가 끝나면 간단하게 배를 채우기
    • 편의점에서 에너지바나, 집에 빵을 사놓으면 자기 전 허기를 달랠 수 있다.
    • 혹은 축구 안 하기 (극단적이지만, 최후의 방법 중 하나)
  • 공부를 하면서 간식 챙겨먹기
    • 생각해보니 공부를 하면 간식을 잘 안먹는다.
      • 빵, 우유, 초콜릿 등을 먹으며 에너지를 계속 보충하자.
    • 공부 시간이 길면 스스로 보상을 주기
      • 10시간 이상 공부를 했다면, 저녁에 배달음식을 시켜먹자
  • 조금 더 현실적인 대안은?
    • 빠르게 백수생활 탈출하기
    • 아침부터 저녁까지는 공부하다가 저녁에 약속 잡기
      • 이 글을 애인님이 싫어합니다.

프로젝트를 한 이유, 그리고 후기

아하 모먼트보단 꼬르륵 모먼트

  • 이유:
    SQL과 Python을 공부만 하는 것보다는 프로젝트를 해보고 싶었다.
    캐글, 빅쿼리 오픈 데이터 등 좋은 샘플 데이터는 참 많다. 하지만 좋아하는 도메인을 찾지 못했고 무엇보다 공감이 안 되었다.
    그리고 데이터를 직접 수집해보는 경험을 해보고자 프로젝트를 시작하게 됐다.
    또한 무엇보다 진짜 배고파서! Stay Hungry의 참의미를 알게되다!

  • 후기:
    정말 많은 삽질들과 에러를 만나며 영어 구글링 능력이 +1된 것 같다. 특히 seaborn…
    이 글에 포함되지 않은 다양한 SQL 쿼리, Python 코드를 날려보며 그래도 삽질을 재미있어 하는구나. 3년 동안 했으면서도 또 재미있어 하는구나 를 느꼈다.
    같은 데이터를 두고 나중에 능력이 업그레이드되면 또 해보고 싶다.
    그땐 얼마나 더 다양한 이야기들을 해볼 수 있을까!

공부 열심히 해서 피자 많이 시켜먹자! image

댓글남기기