Excel_데이터/시각화

엑셀에서 곡선 데이터 피팅(Curve Fitting)하기

palefaceman 2021. 4. 12. 21:20

점으로 분산된 데이터를 수식으로 나타내야 할 때 엑셀에서 어떻게 할 수 있는지 알아본다.

엑셀에서 추세선(trendline) 보기 기능을 사용하면 쉽게 구현할 수 있다.

 

단계별로 따라 진행해본다.

1단계: 데이터를 생성한다.

변수 x,y에 대한 데이터가 아래에 처럼 입력한다.

2단계: 분산그래프를 만든다.

A2:B16을 선택하고 삽입 > 차트 > 분산형(x,y)또는 거품이 있는 차트 > 분산형 선택한다.

아래와 같은 분산형 차트가 나온다.

3단계: 추세선을 추가한다.

차트에 마우스 커서를 올리고 좌클릭한다. '+에서 '추세선에 기타옵션에 들어간다.

추세선 서식에서 다항식을 클릭하고, 아래에 R-제곱 값을 차트에 표시(R), 수식을 차트에 표시(E)에 체크한다.

아래와 같이 그래프에 추세선과 R² 값이 나온다.

대응하는 다항식이 나온다.

 

y =0.3302x^2 - 3.6682x + 21.653

 

R² 값은 독립변수와 종속변수의 상관관계를 나타낸다. 2차 다항식에서는 0.5874다. R²값으로 다항식에 정확도를 알아볼 수 있다.

4단계: 적합한 추세선을 고른다.

다항식을 2차식에서 더 높은 차원으로 올릴 수도 있다. 

 

4까지 올려본다.

추세선이 더 정확하게 데이터를 추종한다.

여기서 R²은 0.9707로 데이터 피팅이 잘될 수록 1에 가까워진다. 

 

y = -0.0192x^4 + 0.7081x^3 - 8.3649x^2 + 35.823x - 26.516

 

방정식은 위와 같이 나온다.

 

주어지는 데이터에 피팅된 방정식을 이용하여 독립변수(x)에따라 변하는 종속변수(y)의 값을 예측할 수 도 있다. 

예를 들어 위의 4차 방저식에 x에 4를 집어넣으면 23.34가 나온다.

 

y = -0.0192*4^4 + 0.7081*4^3 - 8.3649*4^2 + 35.823*4 - 26.516

 = 23.34