김무율 : 순천고등학교, 2학년
정시완 : 순천고등학교, 2학년
강병준 : 순천고등학교, 2학년
권현우 : 순천고등학교, 2학년
2020,2021년 순천시 관내 시내버스 탑승객 수에 영향을 주는 요인을 찾기 위하여 진행하였다.
프로젝트에 사용된 데이터
- 데이터에 대한 설명
데이터 분석
- 데이터를 사용하여 작성한 도표, 그래프를 참조, 결과를 서술한다.
버스를 등,학교에 많이 사용하는 중,고등학생이 만일 평소와 다른 시각에 하교하는 사건이 일어난다면 해당 시각과 주변 시간대의 특정 버스는 학생들로 가득 찬다. 하지만 버스의 운행 시간은 고정적이기에 버스타기를 포기하는 학생이 있고 평소에 동시간대의 운행하는 버스를 사용하던 일반 시민들에게도 피해가 갈 수 있다. 그렇기에 만일 이러한 사태를 대비하여 버스의 운행을 유동적으로 바꿀 수 있다면이라는 생각에서 시작해 버스 탑승객에 대한 패턴 파악을 목적으로 하게 되었다.
데이터 설명 - 가설설정 - 분석 결과 설명 - 결론으로 구성되어있다.
<2020,2021년 시간별 데이터> 하나의 데이터에는 time, type, num의 변수 값으로 이루어져 있다. time 변수는 탑승객이 탑승한 시각, type은 일반인, 청소년, 어린이 중 승객의 유형, num은 탑승한 승객의 수를 입력하였다.
<2020, 2021년 1,7,10월 데이터> 하나의 데이터는 day, num, week, dow의 변수 값으로 이루어져 있다. day는 각 월의 일 수, num은 탑승객 수, week는 각 날짜의 주, dow는 각 날짜의 요일로 입력하였다.
위 2개의 데이터는 모두 교통카드 빅데이터 시스템 순천시 관내 데이터에서 추출 하였으며 데이터는 모두 교통카드로 결제된 승객을 대상으로 지정하였다.
<2020,2021년 시간별 데이터> 하나의 데이터에는 time, type, num의 변수 값으로 이루어져 있다. time 변수는 탑승객이 탑승한 시각, type은 일반인, 청소년, 어린이 중 승객의 유형, num은 탑승한 승객의 수를 입력하였다.
<2020, 2021년 1,7,10월 데이터> 하나의 데이터는 day, num, week, dow의 변수 값으로 이루어져 있다. day는 각 월의 일 수, num은 탑승객 수, week는 각 날짜의 주, dow는 각 날짜의 요일로 입력하였다.
우선 탑승객 수에 영향을 주는 요인에 대한 가설을 4가지로 설정 하였다.
평일의 수는 토,일요일의 수보다 많을 것이다.
7~8시, 5~6시에 탑승객 수가 전반적으로 놓을 것이다.
청소년이 잘 타지 않는 방학이 영향을 줄 것이다.
공휴일에는 전반적으로 수가 감소할 것이다.
busgrap2020 <- ggplot(bus2020year) +
scale_x_continuous(breaks=seq(0,24,1)) +
ggtitle("2020 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=time, y = num, color = type))
busgrap2021 <- ggplot(bus2021year) +
scale_x_continuous(breaks=seq(0,24,1)) +
ggtitle("2021 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=time, y = num, color = type))
grid.arrange(busgrap2020,busgrap2021,nrow=2,ncol=1)
ggplot(bus2020_1) +
ggtitle("2020-1 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
ggplot(bus2020_7) +
ggtitle("2020-7 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
ggplot(bus2020_10) +
ggtitle("2020-10 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
ggplot(bus2021_1) +
ggtitle("2021-1 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
ggplot(bus2021_7) +
ggtitle("2021-7 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
ggplot(bus2021_10) +
ggtitle("2021-10 Bus") +
ylab("number of passenger") +
geom_line(mapping = aes(x=dow, y = num, group = week, color = week))
위의 4가지의 가설이 탑승객 수의 변동에 원인이라는 것을 확인하였다. 이에대하여 유추하여 보자면
등학교와 출퇴근시 버스를 사용하는 승객의 수가 대부분이기에 등하교, 출퇴근이 없는 휴일이 감소한다고 분석하였다.
7~8시, 17~18시는 출퇴근과 등하교 시간이기에 마찬가지로 학생과 직장인이 출퇴근에 버스를 사용하기에 증가한다고 분석하였다.
평균적으로 학생은 탑승객 수 중 2위이기에 만일 학생의 수요가 감소하는 방학(1월)에는 감소한다고 분석하였다.
2020년) 1-24,25,27 / 7-13 / 10-1,2,9,13일
2021년) 1-1,27 / 7-6 / 10-3,7일
1월달 감소일은 설날, 신정떼 감소하고 10월달은 추석이 있었기에 공휴일이면 감소한다고 분석했다.
이 정보들은 요일, 시간, 일과 탑승객 수의 상관관계를 찾은 조사였다. 하지만 모든 시내버스 노선의 탑승객 수의 추세가 동일 할 수 없기에 탑승객 수가 많은 top5의 각각의 노선에서의 어느 정류장에서 승객이 많이 타는지 조사해야한다.
ggplot(bus_num_most) +
scale_x_continuous(breaks=seq(1,31,1)) +
ggtitle("2021 Bus") +
ylab("number of passenger") +
geom_col(aes(x=day,y=nop, fill=num),position='dodge')
위의 코드가 일마다의 최다 탑승 노선이며 여기에서 노선들의 공통점을 찾자면
의료원로타리, 종합버스터미널, 국민은행, 순천대학교의 정류장을 지난다는점이다.
이 중 의료원로타리와 순천대학교는 교육기관이 주변에 포집해 있으며
종합버스터미널과 국민은행은 10개가 넘는 노선이 교차하는 지점이다.