2. 1. 분석동기 및 데이터 수집
팀원들의 공유경제 서비스에 대한 관심 및
airbnb 호스팅을 하고 있는 팀원이 있어서,
가격에 영향을 미치는 요인이 무엇일지
회귀모형 분석하기로 함
변수 이름 변수설명
price (y) 1박당 가격
overall_satisfaction (x) 숙소의 평점 평균
accommodates (x) 최대 수용 인원
bedrooms (x) 숙소 당 침실 수
reviews (x) 숙소의 평점 갯수
Entire_home_apt (x) room_type (집 전체 사용)
Private_room (x) room_type (개인실)
Shared_room (x) room_type (도미토리)
…등 11개 …
톰스 리의 블로그 및
Airbnb 사이트 크롤링으로 데이터 획득
회귀 모형에 쓸 수 있는 변수는 총 18개
3. 2. 회귀분석 – flow chart(1)
(1) Set a regression model
: 가격을 y(종속변수)로 두고 x(독립변수 – 숙소의 평점, 숙박인원 등) 설정
(2) Draw a scatter plot matrix
: 종속변수 및 독립변수 들의 산점도를 통해서 선형관계 파악 → 선형이 아니여서 y(종속변수) log 변환
(3) Estimate the regression coefficients and test the significance of model
: 모형유의성 및 회귀계수 유의성 검정 → R-squared 값은 0.612, 왜도 0.036, 첨도 5.626 등
(4) Select significant explanatory variables
: 유의한 설명변수 선택 → 모든 변수 유의성 적합
(5) Diagnose the existence of multicollinearity
: 다중공선성 체크 및 해결 → "Beds", "bedrooms"등 서로 상관관계가 높게 나오는 것은 pca로 축소
4. 2. 회귀분석 – flow chart(2)
(6) Get a Tentative fitted Regression Model
: 잔차 분석(선형성 – 등분산성 – 독립성 – 이상치 – 정규성 체크) → 이상치 데이터 직접 확인
(7) Get a Final fitted Regression Model
: 최종 회귀모형 획득
<최종모형의 regression result> < Predicted Value와 Target Value의 Scatter plot >
5. 3. 결론 및 추후과제
- 결론
Airbnb 의 1박당 가격은
숙소의 전체 평점, 욕실 수, 객실타입, 인원 당 추가요금, 화재감지기 여부, 주방 유무, Facility1, 2(침대 갯수,
침실 수, 최대수용인원), City1, 2(숙소가 위치한 도시), Room 타입에 영향을 받는 것으로 분석되었다.
- 추후과제
분석을 하면서 가장 어려웠던 점은 선형회귀모형의 기본 가정인 잔차의 정규성을 충족시키는 문제였다.
여러가지 스케일링 방법을 사용해 시도하였으나 결국 잔차의 정규성은 충족시키지 못하였다.
이를 해결하기 위해서 잔차의 정규성 문제에 대한 추가적인 공부 필요