Curve Fitting with Polynomials

Least Square Method์„ ๋ณด๊ณ  ์˜ค๋ฉด ์ข‹๋‹ค.

๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹คํ•ญ์‹ ๊ณก์„ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž.

Intuition Concept

์•„๋ž˜์™€ ๊ฐ™์€ ๊ทธ๋ฆผ์„ ๋ณด๊ณ  ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•ด๋ณด์ž.

๊ทธ๋ฆผ์— ์ด 7๊ฐœ์˜ ๋Œ๋งน์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ,

์„ ์ƒ๋‹˜์ด ๋ง‰๋Œ€๊ธฐ๋ฅผ ์ค„ํ…Œ๋‹ˆ๊นŒ ์ € ์ ๋“ค ์‚ฌ์ด ์ตœ๋Œ€ํ•œ ์ค‘์•™์— ๋†”๋ณด์„ธ์š”!

์ด๊ฒŒ ๋ฐ”๋กœ ์ตœ์†Œ์ œ๊ณฑ๋ฒ•์ด๋‹ค.
์šฐ๋ฆฌ ๊ฐ€์šฐ์Šค ํ˜•์€ ์ด๊ฑธ ์ˆ˜ํ•™์ ์œผ๋กœ ํ•˜์…จ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ•œ๋ฒˆ๋งŒ ๊ตฌ๋ถ€๋ ค(2์ฐจ์‹) ์ค‘์•™์— ๋†“์œผ๋ฉด ๋‹ค์Œ ๊ทธ๋ฆผ์ด ๋  ๊ฒƒ์ด๋‹ค.

์ด์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ๋ถ€๋ฆฐ๋‹ค๋Š” ๊ฒƒ์€ ๋‹คํ•ญ์‹์˜ ์ฐจ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ค‘์•™์— ๋†“๋Š”๋‹ค๋Š” ๊ฒƒ์€ ๊ตฌ๋ถ€๋ฆฐ ๊ณก์„ ๊ณผ ์ ๋“ค์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ(์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด y๊ฐ’์˜ ์ฐจ์ด)๊ฐ€ย  ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋‚˜๋„๋ก ํ•ด๋‹ฌ๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

3์ฐจ, 4์ฐจ, 5์ฐจ, 6์ฐจ๊นŒ์ง€์˜ ๊ทธ๋ฆผ์ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์™œ 7์ฐจ๋Š” ์—†๋Š๋ƒ! ๊ตฌ๋ถ€๋ฆฐ๋‹ค๋Š” ๊ฒƒ์€ ์ ์–ด๋„ 2์ ์ด ์žˆ์„ ๋•Œ ๊ตฌ๋ถ€๋ฆด ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ 7๊ฐœ์˜ ์ ์—์„œ๋Š” 6๊ฐœ์˜ ๊ฐ„๊ฒฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”ผํŒ…ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹คํ•ญ์‹์˜ ์ฐจ์ˆ˜๋„ 6์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋˜ ์‚ฌ๋Š”๊ฒŒ ํŒํŒํ•˜๋‹ค.

x์™€ y๋ฐ์ดํ„ฐ๋ฅผ ํ”Œ๋žํ•ด๋ณด์•˜๋”๋‹ˆ ๋‹คํ•ญ์‹์˜ ๊ผด์ด ๋”ฑ๋ด๋„ ์•„๋‹Œ๊ฑฐ์•ผ. ์ง€์ˆ˜, ๋กœ๊ทธ ์ด๋Ÿฐ๊ฑฐ์•ผ..

์–ด๋–ป๊ฒŒ ํ• ๊นŒ? ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ผ์ข…์˜ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค.

๋ญ”๊ฐ€ ๋„ˆ๋ฌด ๋Œ€์ถฉ ์ •๋ฆฌํ•œ ๊ฐ์ด ์žˆ์ง€๋งŒ ์–ด์ฉ” ์ˆ˜ ์—†๋‹ค.ย 

์š”์•ฝํ•˜์ž๋ฉด ์ž…๋ ฅ๋ณ€์ˆ˜์™€ ์ถœ๋ ฅ๋ณ€์ˆ˜๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋ณด๊ณ  ํ•จ์ˆ˜๋ฅผ ์˜ˆ์ƒํ•œ ๋’ค,ย  ๊ทธ ํ•จ์ˆ˜๊ฐ€ ๋˜๋ ค๋ฉด ์ž…๋ ฅ๋ณ€์ˆ˜์™€ ์ถœ๋ ฅ๋ณ€์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ๋  ๊ฒƒ์ธ์ง€ ๊ฑฐ๊พธ๋กœ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์œ„ ์ˆ˜์‹์ค‘ Exponential์„ ๋ณด๊ฒŒ๋˜๋ฉด, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” x๋ฅผ ๋„ฃ์œผ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ exponential์„ ๊ฑฐ์นœ ๊ฒฐ๊ณผ๊ฐ€ y๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.ย 

๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” polyfit์— ๋“ค์–ด๊ฐ€๋Š” input, output์— ๊ฐ๊ฐ (x, lny)์˜ ํ˜•ํƒœ๋กœ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

Function

์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•ด์„œ ์•ž์˜ ์„ค๋ช…์ด ์ดˆ๋ผํ•ด์ง„๋‹ค.

๊ณ„์ˆ˜ํ–‰๋ ฌ = polyfit(x, y, ์ฐจ์ˆ˜)

์•„๋ž˜๋Š” ์›ํ•˜๋Š” ํ•จ์ˆ˜๋ชจ์–‘์— ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ polyfit์— ๋„ฃ์–ด์ค˜์—ฌ ํ•˜๋Š”์ง€ ์ •๋ฆฌํ•œ ํ‘œ์ด๋‹ค.

Example

t = 0:0.5:5; w = [6 4.83 3.7 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64] plot(t,w, 'o')

๋‘ ๋ณ€์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค. ์ „ํ˜€ ๋ชจ๋ฅด๊ฒ ์œผ๋‹ˆ ๊ทธ๋ ค๋ณด์ž.

์•„ ๊ท€์ฐฎ์•„ ์กŒ๋‹ค. ์ง€์ˆ˜๋‚˜ ๋กœ๊ทธ์ผ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚œ ๋กœ๊ทธ๋ณด๋‹ค๋Š” ์ง€์ˆ˜๊ฐ€ ์ข‹์œผ๋‹ˆ๊นŒ ํ‘œ์—์„œ exp์ผ ๋•Œ ๋ณ€์ˆ˜๋ฅผ ์ฐพ์•„์„œ ๋„ฃ์–ด์ค€๋‹ค.

t = 0:0.5:5; w = [6 4.83 3.7 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64] plot(t,w, 'o')  p = polyfit(t, log(w),1) t1 = 0:0.1:5.5; reg_exp = polyval(p,t1) y1 = exp(reg_exp) plot(t,w, 'o', t1, y1)

Reference