Métodos Matemáticos para Atuária I: Regressões

Exemplo de Regressão Linear

from scipy import linspace,polyval,polyfit,sqrt,stats,randn
import matplotlib.pyplot as plt

n=50
t=linspace(-5,5,n)
a=0.8; b=-4
x=polyval([a,b],t)
xn=x+randn(n)

(a_s,b_s,r,tt,stderr)=stats.linregress(t,xn)
xr=polyval([a_s,b_s],t)

plt.title('Regressao Linear')
plt.plot(t,x,'g--')
plt.plot(t,xn,'k.')
plt.plot(t,xr,'r')

Exemplo de Regressão Não-Linear

import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt

xdata = np.array([-2,-1.64,-1.33,-0.7,0,0.45,1.2,1.64,2.32,2.9])
ydata=np.array([0.699369,0.700462,0.695354,1.03905,1.97389,2.41143,1.91091,0.919576,-0.730975,-1.42001])

def func(x, p1,p2):
 return p1*np.cos(p2*x) + p2*np.sin(p1*x)

popt, pcov = curve_fit(func, xdata, ydata,p0=(1.0,0.2))

p1 = popt[0]
p2 = popt[1]

curvex=np.linspace(-2,3,100)

curvey=func(curvex,p1,p2)
plt.plot(xdata,ydata,'*')
plt.plot(curvex,curvey,'r')
plt.xlabel('xdata')
plt.ylabel('ydata')

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: