Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tantounaregresin comounainterpolacin,sonenresumen,unmodelomatematicoque
nos permite establecer una relacin entre una variable independiente (x) y unavariable
dependiente(y).Existendiferentestiposderegresiones,ascomointerpolaciones.
%datosexperiementales
x=0.5:0.5:3
y=[0.7,1.2,1.3,1.2,0.8,0.3]
holdon
plot(x,y,'ro','markersize',4,'markerfacecolor','r')
xx=linspace(0,3.1,100)
%regresin
p=polyfit(x,y,2)%polinomiodesegundogrado
yy=polyval(p,xx)
plot(xx,yy,'b')
%interpolacin
yy=spline(x,y,xx)
plot(xx,yy,'g')
holdoff
gridon
legend('datos','regresion','interpolacion')
xlabel('x')
ylabel('y')
title('Interpolacion,regresion')
Regresiones
Laregresineselajustedelosdatosexperiementalesaunafuncinquedescribeel
modeloparticular.Sinembargo,nonecesariamenteelmodelocomprendelatotalidadde
lospuntosobtenidosexperimentalmente.
Existendiferentesmtodosnumricospararegresiones,entreellospodemosmencionar:
Regresinpormnimoscuadrados
Serealizacuandolosdatostieneneerroressustanciales,yaqueunaregresinpolinomial
resultarainadecuada(ensumayoracondatosexperimentales).Unejemplodeloque
queremosdecir,puedeobservarseenelsiguientegrfico.
Dondeapreciamosunaclara
dispersindelosdatos,pero
quetambiendenotauna
importanterelacinlinealentre
losmismos.Dehechoun95%
delosdatosestndispersados
entrelasrectasparalelas
cortadas.
Regresinlineal
Unmodelobsicoderegresin
lineal,puedeobtenersede:
y
m = x
y = x(m) = y2 y1
Altomarcomoreferencia x1 = 0
y2 = mx2 + y1 queeslomismoquedecir: y = ax + c
Portanto:
y = ax + c = mx2 + y1 y = mx + c
Alinsertarlanotaciondelerror,queconllevaelalejamientodecadadato,setiene:
y = mx + c +
Elerrorpuedeexpresarseentonces,como:
= y mx c
Deestaforma,puedededucirseunaexpresinparaunmejorajuste,queselograr
cuandolasumadelvalorabsolutodelerrorseamnima.
i=1
i=1
i = (y mx c)
Dondeneselnumerototaldepuntos.
Enbasealanlisisanteriormenteexpuesto,yhaciendousodecriterios
estadsticos
se
puedeobtener:
2(c, m) = (yimxic)2
Lacualeslaexpresindelmtodode
mnimoscuadrados
.
Setieneque:
SxxSySxSy
c = NS
xxSxSx
NS S S
m = NSxyxxSxxSyx
DeterminamosR,elcualesmuyimportanteenmateriaestadisticapuesindicala
representacionoinclusionoptimadelamayoriadedatos.
r=
NSxySxSy
NSyySySyNSxxSxSx
DondeN=n(numerodeincidenciasopuntosdelexperimento)
Loqueselograraconesto,esquesibienlarectanopuedepasarportodoslospuntos,
elalejamientooladistanciaentrelosmismosylarectasermnimo,deestaformase
obtieneunalneaptima.
Nota:noseincluyelacuantificaciondelerror(desviacindemyc)
Regresinpolinomial
Basicamenteconsisteenajustarpolinomiosalosdatosdetrabajo.Seconstruyeenbase
almetododeminimoscuadrados,quepuedeextendersuajustefacilmenteapolinomios
degradosuperior.
Conesto,aldiferencerlaecuacionrespectoacadaunodeloscoeficientessetiene:
Queformanunconjuntoderelacioneslinealesquepuedensersolucianadas,paraasi
determinarelvalorde a0, a1, a2 mediante
solve
o
simultaneo
(comoelvistoenelejemplo
debalanceenunreactor).Sededucequeporlotanto,queparaunpolinomiodegradon
setendraunnumerodeecuaciones n + 1 quepodrasersolucionado.
Esinteresantenotar,queestetipodeanalisistieneunaimplicacionimportante:cuando
nosotrosderivamosparcialmentealafuncionrespectoaloscoeficientes,estamos
haciendouncambiodevariables,dondelanuevasvariablesseranloscoeficientesdela
expresion,y,quealderivarreducimossugradoa n 1 queparaunaecuacioncuadratica
equivaldriaahacerrectastangentesalacurva,yasisucesivamente.
Linealizacionparalaregresionexponencial
Comosehamencionado,losmetodosnumericostienensufundamentoenelanalisis
combinadodealgebra,geometriaanaliticayalgunasveceselcalculo.Taleselcaso
presente,dondeaplicamosunareglaalgebraicasimple.supongamosunarelacion
exponencialdeltipo:
y = aecx
ElanalisisalgebraicoindicaqueaplicandoLogaamboslados(base
e
)tendremos:
Loge(y) = cx + Loge(a)
Obteniendoasiunarectaconuna
pendientecyconunintercepto
Log(a)
Nota:
Estetipodeanalisis,puede
seraplicadoaotrasfuncionesno
lineales.Puedenconsultarseotro
tipoderelacionesexponencialesen
unlibrodetextodematematicas.
paraaplicarestetipodearregloalos
datos,sepuedenplotear,yluego,
condiferentesmodelosdetratarde
acoplarelarrayalaformalineal,y
aplicarminimoscuadrados.
Interpolacin
Demanerasimple,lainterpolacinpermitepredeciroprecisarlalocalizacindeunpunto
noconocidocomprendidoentreelrangodevaloresexperimentalesconocidos,aunque
tambieneningenieraesfrecuentedisponerdeunciertonmerodepuntosobtenidospor
muestreoypretenderconstruirunafuncinquelosajuste.Enlainterpolacin,adiferencia
delaregresin,lafuncinpasaportodoslospuntos.
Interpolaciones
Interpolacinlineal
EsuncasoparticulardelmetododeinterpolaciongeneraldeNewton.Seexpresaasi:
Dondeayb,equivalenapuntoscualesquieradelalinea.Porconveccionseusab>a
Notesequelaregresionanteriorsololograunirconlineasrectasdospuntos.La
aproximacionresultamaspreceisacuandoelintervaloentrelosdatosespequeo,olo
queeslomismo,perteneceaundiferencialdesegmento,unacantidadinfinitesimal.
polinomiosdeinterpolacindeNewton
EnlaformulageneraldeinterpolacindeNewton,seconsideraqueparaevaluarun
polinomiodengradosserequieren n + 1 puntos.Laformageneralser:
f n(x) = b0 + b1(x x0) + ... + bn(x x0)(x x1)...(x xn1)
donde:
b0 = f (x0)
b1 = f [x1, x0]
b2 = f [x2, x1, x0]
bn = f [xn, xn1, ..., x1, x0]
Donde,lasevaluacionesentrecorchetesignificadiferenciasdivididasfinitas:
f(xi)f(xj)
xixj
f[x ,x ]f[x ,x ]
f [xi, xj, xk] = i xj x j k
i k
f [xi, xj] =
Elanalisisdelsiguienterecuadronosdaraunaideamasclaraalrespecto:
Nota:elestudiodeerrorpresenteenestemtodoexcedelosalcancesdeestecurso.se
recomiendareferenciarseunpocoalrespecto.
PolinomiosdeinterpolacindeLagrange
EsunamejoraalmtododeinterpolacindeNewton,serepresentacomo:
n
f n(x) = Li(x)f(xi)
i=0
Donde:
xx
n
Li(x) = j=0,ji( x j )
ixj
Alserexpandidosetiene:
dondeelsignopi,denotaelproductodelasfracciones.Paraelcasoden=1tendriamos
Yasisucesivamenteparapolinomiosdemayorgrado.
RegresionesenMatlab/Octave
p=polyfit(x,y,n)
polifytesunamezcladelanlisisderegresineinterpolacin,puessibiencubrela
mayoriadepuntos,sualgoritmoidentificaaquellosvaloresatipicosodemasiadoalejados
paraserignoradosdentrodelainterpolacin.Pruebeelalgortimosiguiente:
x=[1361020]
y=[2.57.515.52445]
p=polyfit(x,y,1)%eltercerargumentoindicaelgradodelpolinomio
Observaremoslaimpresionenpantalladeunvectorcondoselementos,que
correspondenalosparametrosquepolyfit()retorna.Pararunformatodesalidamsclaro,
hacemos:
polyout(p,"x")
%elcomandopolyvalleeunvectoryconstruyeunafuncionapartirdel
plot(x,y,"*",x,polyval(p,x),"")
xlabel("x")
ylabel("y")
legend("puntos","ajuste")
text(0.5,45,polyout(p,"x"))%uso:text(x,y,mensaje)
grid()
NOTA:pruebeelcomandoconlasopcionesde2doy3ergrado.puedeobtenerla
desviacionusando:
desviacion=sqrt(mean((ypolyval(p,x)).^2))
leasqr()
Elusodelcomando,escomosigue:
[f,p,cvg,iter]=leasqr(x,y,pin,F
)
Donde:
x
:vectoromatrizdevariablesindependientes
y
:vectoromatrizdevariablesdependientes
pin
:vectordeparametrosinicialesparaserajustadoconleasqr()
F
:Funcionatratar
f
:setdeyajustados.f=F(x,p)
p
:vectorconparametrosfinalesdelasolucion
cvg
:escalar=1sihayconvergencia,0decualquierotraforma
iter
:numerodeiteracionesusadas
Aclaracion
:paraaquelloscomandosquedevuelvenunvectorF(x),elprocesopara
obtenerunafuncinesbastantesimple:primeroconseguimoshacerunaregresinala
dispercindedatosatravsdelvectorqueestosdevuelven.luegopodemosusarel
comandopolyfit(),paraobtenerunaecuacin.Elusodedichocomandosemencionar
adelante.
Ejemplo:
%creamosunsetdedatosx
x=linspace(0,5)
%creamosunsetdeyalazarapartirdexyvisualizamos
y=1./(1+1.2*x.^1.8)+randn(1,100)*0.03
plot(x,y,"go")
%creamosunafuncionllamadaffundadalatendenciadelafuncion
functiony=ffun(x,p)
y=1./(1+p(1)*x.^p(2))
endfunction
p=[0.50.0]
[yfitpfitcvgiter]=leasqr(x,y,p,"ffun")
cvg,iter
pfit
plot(x,y,"o",x,yfit,"r")
InterpolacionesenMatlab/Octave
spline()
Ejemploaplicadospline()
x=0:10
y=sin(x)
xx=0:.25:10
yy=spline(x,y,xx)
plot(x,y,"o",xx,yy)
Sinembargo,elusodespline,puedepresentartambienciertosinconvenientespara
cuandoelsetdedatosessignificativamentemasgrande:
x=10*pi^2*rand(1,25)
y=sin(x)rand(1,25)+rand(1,25)
xx=0:.25:80
yy=spline(x,y,xx)
plot(x,y,"o",xx,yy)
Puedeobservarsequelacurvallegahastalosvaloresdefinidosparaxx,yquetomatodos
ycadaunodelospuntosdeladispersion.
yi=
interp1
(x,y,xi,tipo)
Esunmtodobastanteprctico,yaqueelalgoritmodelafuncininterp1nospermite
especificareltipodeinterpolacindeseada(linear,cuadrtica,cbica,etc).Pararesumir
suusocrearemosunsetdedatos:
xp=[0:10]
yp=sin(2*pi*xp/5)
Procedemosaconstruitunnuevopardevectores,estodebidoaqueademasdevalores
dexp,precisamosdeunnuevovectorxfconlamayorcantidaddepuntosposibles,en
elrangodelasxpdadas.Paraconocerelrangodexpodemosusarrange():
xf=[0:0.05:range(xp)]
yf=sin(2*pi*xf/5)
Supongamosunainterpolacinlineal
lin=interp1(xp,yp,xf)
paraunafuncindeltipocbica
cub=interp1(xp,yp,xf,"cubic")
Paraunainterpolacinpolinomial
pln=interp1(xp,yp,xf,"spline")
Alplotearenconjunto:
plot(xf,yf,"r",xf,lin,"g",xf,pln,"b",xf,cub,"c",xp,yp,"r*")
grid()
legend("original","linear","polinomial","cubica")
Comohemospodidoobserbar,entodosloscasosinterp1()loquenosdevuelveesde
hechounvectoryenbasealarelacinquehemosordenadoalcomando.esdecir:el
interpretediseaunafrmulageneralyforzaalosdatosaentraraesaecuacin.
NOTA:xdebedeestarigualmenteespaciada.
Siideseamosconocerlaecuacinquegeneralacurvadedatos,debemosarecurrira
polyfit(),yobteneraslaecuacinmedianteelusocombinadodecomandos.
Preguntas:
Quhacersideseamosunaregresiondeunsetdedatosqueevidenciaunatendencia
exponencial?
Culeselproblemaquerepresentaelusodesplinecuandohaydispersindedatos?
Ejemploaplicado:torredesecado
Lafiguradeintroduccinaestecaptulomuestraunprocesodesecado,dondesegrafica
masatotalvstiempo.Losdatosdemasa(m)enkgytiempo(t)enhoras,son
respectivamente:
m=[40,32.9,25.8,18.7,16.4,14.3,13.4,13,13]
t=[0,0.2,.4,.6,.7,.9,1.1,1.3,1.4]
Supongaque,afindepoderanalizarestosdatos,serequiereunafuncinquedescribael
procesodemasaevaporada,respectoaltiempo.Encujentreportantounaexpresinque
nospermitadescribircuantamasasehabrevaporadoluegode0.3y1.1horas.
sugerencia:Debidoalcomportamientodelagrficapodrasertilseccionarlayobtener
dosexpresionesquedescribanlasdosregiones.
Ejemplodemostrativo:interpolacindedatostermodinmicos
Unproblemausualenlalecturadetablasdevaporesladificultadparaleerdatoscercanosal
puntocrtico.Estotambinsucedeenalgoritmosdedatostermodinmicosprogramadosen
calculadorasporttileslascualessondispositivosmenospotentesqueunacomputadora,por
tanto,comountrucodeprogramacin,serecurreausarmenospuntosomenosdatos
termodinmicosquelosqueseusaranenunaComputadoraPersonalafindenosaturarla
memoriavoltildeldispositivoporttil.Acontinuacinsedemuestraenbasealainterpolacin,
porquepuedenpresentarseestaseriededificultadesenlospuntoscercanosalpuntocrtico.
SupongamosprimeramentequeeldiagramaPVdeunasustancia(lasustanciax)est
representadomediantelaecuacin V = P Cos(P ) paraunapresinquevadesdelos5a8MPa.
Generamosunsetdedatoscon100elementosylosploteamos
x=linspace(5,8,100)
y=x.^cos(x)
plot(x,y,'b')
hold('on')
title('diagramaPV')
xlabel('P')
ylabel('V')
Ahorasupongaque,deseamosprogramardichosdatosenunacalculadoraporttil,paratales
efectosasumimosquedesconocemoslarelacinV=f(P)conlacualhemosmodeladolosdatos
yensulugartenemosunsetde100datosdeVyPrespectivamente.
Parapoderrepresentarelcomportamientoextraemosunnuevovectorenbasealosconocidos:
a=x(1:10:100)
b=y(1:10:100)
Ploteamoslosdatosquerecopilamosdelosvectoresoriginales,sobreelgrficooriginal
plot(a,b,'ro')
grid('on')
legend('datosoriginales','interpolacionlineal')
Observelareginsuperiordeldomo:
Cmoexplicaraestolaproblemticadeleerdatosdetablasdevaporcercanosalpunto
crtico?
Hagascrollsobreelreacrticayobservelaregindeincertidumbre.
Qusugeriraparaminimizaresteerror?
Interpolarentredatoscontiguos,olomsproximosposibles
referencias
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/datos/interpolacion.h
tml
Muyrecomendado:contiene,algunosalgoritmosprogramadosdelasfuncionesmencionadasenelcaptulo.
http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/datos/datos.html
https://www.scribd.com/doc/106671667/LinealizaciondeFuncionesNoLineales
http://sysplay.in/blog/tag/polynomialcurvefitting/
http://www.krizka.net/2010/11/01/nonlinearfittingusinggnuoctaveandleasqr/
http://www.mathworks.com/help/matlab/ref/spline.html
https://www.packtpub.com/books/content/gnuoctavedataanalysisexamples