ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 롤휴지와 핸드타올에서 본 통계(feat.뻘짓의 역사)
    컴퓨럴/데이똬쓰 2017. 1. 24. 23:24

     아래는 화장실의 롤 휴지와 핸드타올의 변화를 약 1년동안 기록하여 나름의 분석을 해 본 글이다.

    A. 시작하게 된 계기

     2015년부터 사회복지관에서 사회 복무요원으로 일하고 있다. 업무 중 하나인 청소를 하면서 부족한 롤 휴지와 핸드타올을 하루에 한 번 채우게 되우게 된다. 다음 날까지 사용자가 휴지가 없었다는 소리를 듣지 않기 위해서 아직 휴지가 많이 남아있는데도 휴지를 버리는 상황이 생긴다. 휴지를 버릴 때 마다 어느정도 휴지를 사용했을 때에 버리는 것이 가장 좋을까 궁금했다.

     1년마다 쓸 롤휴지, 핸드타올 박스를 주문해서 창고에 보관한다. 쌓인 휴지를 보며 도대체 일년에 얼마나 주문해야 하는걸까 궁금했다. 층별, 칸별로는 어떤 차이가 있을지도 궁금했다. 

     마침 선형회귀를 배워서 응용해볼 곳을 찾고있던 터라 분석을 시작해보았다.


    B. 과정

     - 궁금한 점 구체화하기

    궁금한 점을 세가지로 정리했다.

    1. 롤 휴지는 언제 바꾸면 제일 좋을까?

    2. 일년에 롤휴지, 핸드타올 박스는 얼마나 사용하는가?

    3. 사용하는 사람중에 똥을 싸는(?) 건 어느 정도 비율일까?

     - 자료 수집

    2016.02.02부터 2017.1.21까지 청소한 날마다 화장실의 롤휴지, 핸드타올, 박스의 변화 상황을 구글 스프레드시트에 기록했다. 

    롤 휴지는 줄어든 정확한 양을 수량화 할 수 없어서 롤휴지가 남은 반지름 길이를 100%/10%/0%등으로 나누었다. 핸드타올은 100장을 한 묶음으로 포장되어 있기 때문에 묶음 수로 기록했다. 박스는 새로 교체할 때마다 기호로 적어 두었다.

     

    각각 %, 12.5%로 추정한다.
    이미 저 투명칸에 빈 부분이 보인다는 것은 50%대 안임을 뜻한다


    예를 들어 11은 1층의 첫번째칸을 의미한다. 14는 핸드타올 묶음 수이다.

     H는 핸드타올박스, R은 롤 박스를 의미한다.


     - 자료 목적에 맞게 가공 및 분석

      분석에는 python의 statsmodels,pandas 등의 라이브러리와 구글 스프레드시트의 기본 기능들을 활용했다.

      1. 롤 휴지는 언제 바꾸면 제일 좋을까?

     롤 휴지를 교환하는 시기 사이를 한 싸이클로해서 한 싸이클동안 변화량을 이산적인 좌표로 바꾸었다. x좌표는 주말을 제외한 소요날짜, y좌표는 반지름 길이에 따른 밑면 면적을 적었다. 반지름 길이가 아닌 밑면 면적을 계산한 이유는 반지름은 휴지 반지름 길이가 짧아질수록 줄어드는 속도가 제곱배로 빨라지기 때문이다. 100%일떄 심 길이가 4cm이고 전체 길이가 12cm임을 감안해 계산했다예를 들어 [0, 401.92], [4, 401.92], [5, 263.76], [6, 150.72], [7, 22.11]가 한 싸이클이다

     이 좌표로 단순 선형회귀로 가장 이상적인 직선 하나를 찾아낸다. 이 결과의 기울기와 x절편으로 하루에 줄어드는 양과 예상 소요시간을 추측할 수 있다.

      2. 일 년에 박스는 얼마나 사용할까?

     박스 개수는 간단히 조사한 기간 동안 사용한 박스 개수를 계산하고 365일이면 어느정도 사용할 것인지 추측했다.

      3. 사용하는 사람중에 똥을 싸는(?) 건 어느 정도 비율일까?

     사용하는 사람의 수는 손을 닦는 핸드타올의 개수로 추측할 수 있다. 똥을 싸는 사람의 수는 롤휴지가 줄어드는 양으로 추측한다. 그래서 롤휴지 한 롤을 다 사용할 때에 핸드타올은 얼마나 사용되었는가를 계산하여 비율을 계산한다. 사람들마다 사용하는 양이 매우 다르므로 정확한 추측은 힘들다.


    C. 결과

     1. 롤 휴지는 언제 바꾸면 제일 좋을까?

     기록된 한 싸이클의 점들을 한 선으로 이으면, 다음 날 휴지가 없게 되는 양과 예상 소요시간을 구할 수 있다. 이 값은 롤 휴지가 다 소요되는 데에 시간이 얼마나 걸리는지, 얼마정도 남았을 때에 롤 휴지를 바꿔줘야 하는지 알려준다. 이 값들의 median값을 구해 이상치들을 걸러보았다.

     실제 값(파란 점)을 한 직선(빨간 선)으로 단순화 할 수 있다.  아래 그림은 1층 첫번째 칸의 롤들이 줄어드는 주기들을 표현한 것이다.


    선형회귀로 층별 하루에 줄어드는 양을 히스토그램을 그려보면


    하루에 모든 롤을 사용한다는 이상치가 나타난다. 때문에 이런 이상치들을 제거하기 위해 층별로 나온 값들의 median값을 구하면 아래와 같은 결과가 나왔다.(사실 이 방법 외에 어떻게 좀 더 세밀하게 이상치들을 조정할수있는지 모르겠다..)


    소요시간, 다음 날 휴지가 없게 되는 양(반지름/12)

     

     첫번째 칸

    두번째 칸 

     세번째 칸

     1층

     7.0일, 20.75%

     7.0일, 22.62%

     7.0일, 20.88%

     2층

     23.0일, 7.0%

     17.5일, 9.5%

     16일, 10.5%

     3층

     106.5일, 1.88%

     57.5일, 3.38%

     107.5일, 1.88%

     4층

     57.0일, 4.62%

     115.0일, 1.75%

     65.0일, 2.88%

     5층

     108.0일, 1.88%

     41.0일, 4.62%

     39.0일, 4.5%

     지하1층

     125.0일, 1.62%

     101.0일, 2.0%

     57.0일, 3.38%

     

    2. 일 년에 박스는 얼마나 사용할까?

     휴지 박스는 170일(16.6.9~16.11.25)동안 핸드타올 박스는 1층은 9개,2층 2개,3층 1개,4층 1개, 5층 0개,지하 1층 2개로 총 15상자이고 롤휴지 박스는 1층은 6개,2층 3개,3층 1개, 4층 2개, 5층 1개, 지하1층 1개로 총 14상자이다. 비례식으로 365일을 예측해보면 핸드타올, 롤휴지를 각각 32.2개, 30.0개정도가 필요하다. 


     3. 사용하는 사람중에 똥을 싸는(?) 건 어느 정도 비율일까? 

     핸드타올은 소변후에, 손이 더러워 졌을 때, 대변 후 손을 씻는 용도로 사용한다. 한 롤 휴지를 사용하는 동안 핸드타올이 사용된 양이 작다는 것은 소변이나 단순히 손을 씻기 위해 사용하는 사람보다 대변 후 손을 씻는 사람이 많음을 추측할 수 있다. 

    한 롤당 사용된 핸드타올 장 수들의 median값

     

     첫번째 칸

     두번째 칸

     세번째 칸

     평균

     1층

     22500

     24500

     27500

     24833

     2층

     5500

     5000

     5500

     5333

     3층

     23000

     16000

     20500

     19833

     4층

     10500

     20000

     10000

     13500

     5층

     38000

     19000

     16500

     24500

     지하 1층

     22000

     40000

     16000

     26000

     결과에서 가장 눈에 띄는 것은 1층과 2층의 차이였다. 2층은 1층보다 롤 휴지가 줄어드는 속도가 느린데도(1층은 약 10일, 2층은 약 20일) 한롤동안 방문한 사람은 1층보다 약 20000장이나 적다. 이를 통해 2층은 대부분 대변을 해결하기 위해 사용한다는 것을 보여준다.

     데이터를 바탕으로 화장실을 방문했을때 똥을 쌀 비율을 추측해보자. 사람마다 휴지를 사용하는 양이 다르고 어느정도 사용하는지 알 수 없으므로 확신할수는 없지만 나를 기준으로 추측할 방법을 생각해보았다. 

     전체 반지름이 12cm, 휴지 심 반지름이 4cm인 롤 휴지의 윗부분 전체 면적이 401.92cm²(12^2π-4^2π)인 롤 휴지를 내가 한번에 약 7칸(작은 롤휴지 한칸이 11cm)을 4~5번 정도 사용한다고 가정할 때(내가 그렇더라) 한번 사용할때마다 77*0.0014*4.5=0.4851cm²를(7칸 77cm* 휴지두께 14µm * 사용횟수 4.5) 사용하는 것이다. 이렇게 계산하면 나의 경우 828번 화장실에 가야 한 롤을 다 사용한다(상업용 휴지임을 잊지말자.)  

     나는 화장실에 갔다오면 핸드타올을 두장씩 사용하기 때문에 만약, 한 롤을 사용하는동안 5500장을 사용하였다면 2250번 화장실에 와서 828번 똥을... 싼다는 결론이 나온다.


    D. 생각해볼 것들/사설

     - 처음에 롤휴지통의 투명한 부분이 보이기 시작하면 당연히 75%가 남아 있을 것이라고 생각하고 기록해 왔었다. 알고보니 투명한 부분이 보이기 시작하면 이미 50%를 사용한 것이고 75%는 37.5%로 정도 되는 자료였다. 그런데 그때에도 꽤 설명력 있다고 생각하며 분석했었다. 자료가 맞다는 색안경을 쓰면 모든 데이터가 옳아 보인다. 이런 생각을 경계할 필요가 있다.

     - 선형대수로 자료를 파악할때, 시작점은 휴지 한롤 전체로 이미 정해져 있기 때문에 y축 절편을 미리 고정해보았었다. 그런데 y절편이 고정된것이나 고정되지 않은 것이나 거의 비슷한 결과를 보여주었다.

    >>> median_basic(y절편 고정X)

    {'446': (9.5, 1.55), '444': (9.5, 1.25), '443': (9.0, 1.26), '3': (63.0, 0.25), '22': (20.0, 0.67), '23': (16.5, 0.84), '41': (60.0, 0.36), '441': (38.0, 0.39), '1': (129.0, 0.12), '13': (10.0, 1.31), '12': (8.0, 1.51), '52': (38.0, 0.39), '43': (97.0, 0.16), '445': (13.0, 0.68), '2': (252.0, 0.06), '32': (68.0, 0.24), '33': (158.5, 0.1), '53': (52.0, 0.29), '51': (125.0, 0.13), '442': (36.0, 0.4), '31': (125.5, 0.13), '42': (126.0, 0.13), '11': (7.0, 1.55), '21': (25.0, 1.14)}

    >>> median_formula(y절편 고정)

    {'446': (9.5, 1.49), '444': (9.5, 1.25), '443': (9.0, 1.26), '3': (63.0, 0.24), '22': (20.0, 0.67), '23': (17.5, 0.79), '41': (58.5, 0.37), '441': (38.0, 0.39), '1': (130.0, 0.12), '13': (10.0, 1.24), '12': (8.0, 1.48), '52': (38.0, 0.39), '43': (97.0, 0.16), '445': (13.0, 0.68), '2': (252.0, 0.06), '32': (69.0, 0.22), '33': (159.5, 0.1), '53': (52.0, 0.29), '51': (127.0, 0.12), '442': (36.0, 0.4), '31': (128.0, 0.12), '42': (127.0, 0.12), '11': (8.0, 1.48), '21': (25.5, 1.13)}

      - 오차범위?

    오차범위를 추정하고 싶은데 데이터 숫자가 20개 내외라 적용하기가 힘들었다. 층수별로 차이가 있는 것은 분명한데 유의미한 차이의 범위는 어떤 것일지 궁금하다.

     - 박스를 채운 날과 끝난 날에 한계가 있다는 점

    박스를 바꿀때 분석에서는 박스 양이 100%가 되었다가 0%가 되었을 때에 바뀐다고 가정하지만, 실제로는 15% 정도 되었을때에 바꾸어서 115%인 상태로 시작한다. 이런 사실들은 반영되지 못했다.

     - 행사같은 변수를 반영하지 못한 점

    하루에 모든 휴지가 다 떨어진다던지 이상치들이 보인다. 건물 안 행사로 갑자기 이용객이 많아질때에 이런 일이 일어나곤 한다. 행사 날짜들을 제대로 기록해 놓지도 않았고 이런 변수가 없었을 때에도 이상치가 발생할 때도 있었다. 다음에는 이런 세세한 부분까지 다룰수 있었으면 좋겠다.

     - 시각화를 예쁘게 할 능력이 없어..

    데이터를 예쁘게 보여줄 수 있으면 좋겟다..

    - 코드가 그리 깔끔하지 못하다는 점

    파이썬 코드를 짤때마다 늘 참 저급하게 짠다는 생각이 든다. 자료를 한번 가공해놓으면 다음에 이용할 수 있도록 해야겠다.

     - 아무리 뻘짓이라도..

    아무리 뻘짓이라도 하는 도중에 이것저것 배울 수 있다는게 조금의 위로가 된다...(안녕.. 나의 시간)




    '컴퓨럴 > 데이똬쓰' 카테고리의 다른 글

    대학교 커뮤니티 주제별 분석  (5) 2016.06.04
Designed by Tistory.