시작하기무료로 시작하기

외삽: 경계를 넘어가 보기

이번 연습에서는 외삽의 위험성을 살펴보겠습니다. 아래 그림은 산의 하이킹 코스 고도 프로필입니다. 검은색으로 표시된 구간은 선형으로 보이며, 이 구간을 사용해 모델을 만들었습니다. 하지만 최적 적합선(빨간색)은 원래 "정의域" 밖의 새로운 데이터(파란색)로 확장되면 더 이상 잘 맞지 않습니다.

모델을 사용해 고도를 예측하되, 어떤 허용오차 내에서 정확하게 유지하려면 독립변수 x의 값 중 모델을 적용할 수 있는 최소값과 최대값은 무엇일까요?

여기서는 미리 로드된 x_data, y_data, y_model, plot_data_model_tolerance()를 사용해 답안을 완성하세요.

이 연습은 강의의 일부입니다

Python으로 배우는 선형 모델 입문

강의 보기

연습 안내

  • np.abs()를 사용해 y_data - y_model의 차이로 잔차(residuals)를 계산하세요.
  • residualstolerance = 100미터보다 작은 x에서의 .min().max() 값을 찾으세요.
  • np.min()np.max()를 사용해 x_good 값의 범위(최솟값과 최댓값)를 출력하세요.
  • 미리 정의된 plot_data_model_tolerance()를 사용해 데이터, 모델, 그리고 residuals < toleranceTrue인 구간의 x_good 범위를 비교해서 확인하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Compute the residuals, "data - model", and determine where [residuals < tolerance]
residuals = np.abs(____ - ____)
tolerance = 100
x_good = x_data[____ < ____]

# Find the min and max of the "good" values, and plot y_data, y_model, and the tolerance range
print('Minimum good x value = {}'.format(np.____(____)))
print('Maximum good x value = {}'.format(np.____(____)))
fig = plot_data_model_tolerance(x_data, y_data, y_model, tolerance)
코드 편집 및 실행