빅데이터 8일차 - 주행속도와 제동거리 사이의 회귀모델 구하기, 실제 제동거리, 예상 제동거리, 오차 구하기

2020. 7. 30. 10:59·데이터과학/R
목차
  1. 주행속도와 제동거리 사이의 회귀모델 구하기
  2.  
  3. dist~speed
  4. cars
  5. 주행속도에 따른 제동거리 구하기
  6. 예상 제동거리, 실제 제동거리, 오차 구하기
728x90

주행속도와 제동거리 사이의 회귀모델 구하기

  • 단순선형 회귀식을 구하기 위해서는 이론적인 이해가 필요하지만, R에서 제공하는 lm()함수를 이용해 쉽게 회귀식을 구할 수 있다.
  • 독립변수는 주행속도고 종속변수는 제동거리

 

# 주행속도와 제공거리 사이의 회귀모델 구하기
head(cars)
plot(dist~speed, data = cars) # 산점도를 통해 선형 관계 확인.

model <- lm(dist~speed, cars) # 회귀모델 구하기
model

abline(model) # 회귀선을 산점도 위에 표시
coef(model)[1] # b의 값 출력
coef(model)[2] # W의 값 출력

summary(model) # 요약 통계

[그림1] head(cars)

 

[그림2] 산점도로 선형관계 확인하기.

 

 

[그림3] lm()함수 이용해 회귀모델 구하기

 

 

[그림4] b,w의 값 출력

 

[그림5] 산점도에 회귀선 표시

 

[그림6] summary()함수로 요약 통계 확인

 

dist~speed

  • 회귀모델에서 독립변수와 종속변수를 지정, ~를 기준으로 '종속변수~독립변수'의 순서로 지정해야 한다. 순서가 바뀌면 값이 바뀌어버리니 주의.

cars

  • 회귀모델은 만드는데 사용할 데이터셋, 여기서 dist와 speed가 cars의 열이여야 한다.

1. 독립변수 : speed

2. 종속변수 : dist

3. 회귀식 : dist = 17.579 + 3.9324 * speed

4. 귀무가설 : β1=0(종속변수는 독립변수와 인과관계가 없음)

5. 대립가설 : β1≠0(종속변수는 독립변수와 인과관계가 있음)

6. 회귀계수 β1의 p값은 1.49e=12로 0.05보다 작으므로 회귀계수가 유의미하다.

7. 결정계수와 수정된 결정계수 모두 0.6511, 0.6438로 데이터 설명령은 60% 이상

 

 

 

주행속도에 따른 제동거리 구하기

  • 주행속도가 30, 35, 40일 때 예상 제동거리를 구하기.
# 주행속도가 20, 40, 60일 경우 예상 제동거리 구하기.
b <- coef(model)[1]
W <- coef(model)[2]

# 주행속도가 20일 경우
speed <- 20 # 주행속도
dist <- W*speed+b
dist # 제동거리

# 주행속도가 40일 경우
speed <- 40 # 주행속도
dist <- W*speed+b
dist # 제동거리

# 주행속도가 60일 경우
speed <- 60 # 주행속도
dist <- W*speed+b
dist # 제동거리

[그림7] 주행속도에 따른 제동거리 구하기 예제 출력

predict(선형모델, newdata = ~~)

# predict 함수 사용해 깔끔하게 정리
# predict(선형모델, newdata = ~~)
predict(model, newdata = data.frame(speed=c(20,40,60))) # speed 20,40,60 

[그림8] predict 함수 이용해 정리

 

예상 제동거리, 실제 제동거리, 오차 구하기

  • cars 데이터셋의 주행속도(speed) 데이터를 앞에서 구한 회귀식에 대입.
# 예상 제동거리, 실제 제동거리, 오차구하기
speed <- cars[,1] # 주행속도
pred <- W*speed+b # 공식
pred # 예상 제동거리

compare <- data.frame(pred,cars[,2],pred-cars[,2])
colnames(compare) <- c("예상","실제","오차")
head(compare)

[그림9] 예상 제동거리, 실제 제동거리, 오차 구하기

 

predict 활용 예제

# predict 활용
pred <- predict(model,newdata=cars)
pred

compare <- data.frame(pred,cars[,2],pred-cars[,2])
colnames(compare) <- c("예상","실제","오차")
head(compare)

[그림10] predict 활용 예제

 

출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미

728x90
저작자표시 비영리 변경금지 (새창열림)
  1. 주행속도와 제동거리 사이의 회귀모델 구하기
  2.  
  3. dist~speed
  4. cars
  5. 주행속도에 따른 제동거리 구하기
  6. 예상 제동거리, 실제 제동거리, 오차 구하기
'데이터과학/R' 카테고리의 다른 글
  • 빅데이터8일차 - Prestige 데이터셋활용 ,예상 연봉, 실제 연봉, 오차 구하기
  • 빅데이터 8일차 - 다중선형 회귀모델 만들기, 다중선형 회귀모델에서 변수의 선택
  • 빅데이터 8일차 - 회귀분석 관련 용어,회귀의 어원, 단순선형 회귀분석
  • 빅데이터7일차 - 데이터 병합
포장빵
포장빵
IT공부 및 프로그래밍
  • 포장빵
    포장빵의 IT
    포장빵
  • 전체
    오늘
    어제
    • AI 학습 노트 (113)
      • 기초 수학 (4)
        • 선형대수 (0)
        • 확률통계 (4)
        • 미적분 (0)
        • 최적화 이론 (0)
      • AI & 딥러닝 (1)
        • 이론 (0)
        • 컴퓨터 비전 (0)
        • 자연어 처리 (0)
        • 생성AI (0)
        • 강화학습 (0)
      • 데이터과학 (70)
        • R (47)
        • ADSP (21)
      • 연구 & 자료 (15)
        • 논문 (6)
        • 수료증 (3)
      • 프로그래밍 & 개발 환경 (22)
        • Python (22)
        • 개발도구 (0)
        • 알고리즘 (0)
      • 면접 자료 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      none타입
      통계량에 의한 자료 분석
      시퀀스형
      k-평균 군집
      python 주요 데이터 타입
      단순선형 회귀분석
      R 원 그래프 퍼센트
      stylegan2
      str lib
      Coursera Python Data Structures
      베르누이분포
      다차원 척보법
      yolov10
      Python Regular Expression Quick Guide
      확률 분포
      논문
      R 도수분포표
      Python 크롤링 기초
      R 원 그래프
      주성분 분석(PCA)
      k-means clustering
      Coursera 1
      상관분석
      자료의 종류
      확률
      지수분포
      yolov9
      시계열 모형
      CV
      매핑형(딕셔너리)
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    포장빵
    빅데이터 8일차 - 주행속도와 제동거리 사이의 회귀모델 구하기, 실제 제동거리, 예상 제동거리, 오차 구하기

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.