3
1
3
n
i
i
F
x x
AS
ns
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Medidas de forma
Coeficiente de apuntamiento de Fisher
Mide el grado de concentracin de una
variable respecto a su medida de
centralizacin usual (media). Se define como:
La funcin kurtosis calcula el coeficiente de
apuntamiento de Fisher
kurtosis(altura)
4
1
4
n
i
i
F
x x
K
ns
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
La informacin obtenida a partir de las medidas de
centralizacin, dispersin y forma se puede usar para realizar
diagramas de caja (boxplots) que visualmente nos
proporcionen la informacin de cmo estn distribuidos los
datos.
El diagrama de caja consta de una caja central que est
delimitada por la posicin de los cuartiles Q3 y Q1.
Dentro de esa caja se dibuja la lnea que representa la
mediana.
De los extremos de la caja salen unas lneas que se extienden
hasta los puntos
LI = mx { mn(Xi) , Q1 - 1.5 RI }
LS = mn { mx(Xi) , Q3 + 1.5 RI }
Los datos que caen fuera del intervalo (LI, LS) se consideran
datos atpicos y se representan individualmente.
boxplot(altura)
Diagrama de caja (boxplot)
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Diagrama de caja (boxplot)
boxplot(altura)
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Diagrama de caja (boxplot)
boxplot(altura,sexo)
Introduccin a lenguajes avanzados de
computacin: MATLAB en la docencia en
Qumica
Anlisis de datos
III. Distribuciones de probabilidad
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Distribuciones de probabilidad en MATLAB
Las funciones relacionadas con distribuciones de
probabilidad en MATLAB siguen la misma estructura
Un prefijo que hace referencia a la distribucin con la
que estamos trabajando: binom, exp, poiss, norm,
Un sufijo que hace referencia a la informacin que
queremos obtener
rnd: genera nmeros aleatorios de la distribucin indicada
cdf: evala la funcin de distribucin (cumulative distribution
function)
pdf: evala la funcin de masa (variables discretas) o la
funcin de densidad (variables continuas)
inv: calcula la inversa de la funcin de densidad (cuantiles)
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Generando nmeros aleatorios
Uniforme discreta (unid)
Ejemplo: simulamos el lanzamiento de un dado
unidrnd(6)
unidrnd(6,10,1)
Uniforme continua (unif)
unifrnd(0,1,5)
unifrnd(2,5,3,1)
Exponencial (exp)
exprnd(3,5,1)
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
La distribucin normal
Funcin de densidad de N(,
2
) [Normal de media y varianza
2
]
Para representar la funcin de densidad de una Normal estndar
N(0,1)
x=linspace(-3,3,100);
y=normpdf(x);
plot(x,y)
Para representar la funcin de densidad de una N(1,2)
hold on
y2=normpdf(x,1,sqrt(2))
plot(x,y2)
2
2
( )
2
2
1
( )
2
x
f x e
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
La distribucin normal
Clculo de probabilidades (funcin de
distribucin)
Sea una variable normal estndar
P(Z 1.64)
P(Z > 1)
P(-1.96 Z 1.96)
Este tipo de cuestiones se resuelven con la
funcin normcdf, teniendo en cuenta que
normcdf(x)=P(Z x)
(0,1) Z N
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
La distribucin normal
Clculo de cuantiles
Sea una variable normal estndar.
Calcula los valores de z para los que
P(Z z) = 0.5
P(Z < z) = 0.95
P(Z > z) = 0.95
Este tipo de cuestiones se resuelven con la
funcin norminv, teniendo en cuenta que el
resultado de norminv(x) es el valor z tal que
P(Z z) = x
(0,1) Z N
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Distribucin normal multivariante
mu = [0 0];
Sigma = [.25 .3; .3 1];
x1 = -3:.2:3; x2 = -3:.2:3;
[X1,X2] = meshgrid(x1,x2);
F = mvnpdf([X1(:) X2(:)],mu,Sigma);
F = reshape(F,length(x2),length(x1));
surf(x1,x2,F);
xlabel('x1'); ylabel('x2'); zlabel('Prob. Density');
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Principales distribuciones en MATLAB
Distribucin prefijo MATLAB
Beta beta
Exponencial exp
Gamma gam
Lognormal logn
Normal norm
Uniforme continua unif
Weibull wbl
Chi-cuadrado chi2
F de Snedecor f
t de Student t
Distribucin prefijo MATLAB
Binomial bino
Geomtrica geo
Hipergeomtrica hyge
Multinomial mn
Poisson poiss
Uniforme discreta unid
Distribuciones discretas
Distribuciones continuas
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Ajuste de un modelo de distribucin a un
conjunto de datos
Importamos los datos del fichero espesor.txt, correspondientes
al espesor en mm. de 200 lminas producidas por la mquina
de rolado de una compaa del metal
Guardamos los datos en una variable espesor
hist(espesor)
A la vista del histograma podemos pensar que los datos se
distribuyen segn una variable aleatoria normal. Estimamos la
media y desviacin tpica mediante
mu=mean(espesor)
sd=std(espesor)
Dibujamos la densidad
ejex=linspace(25,50,100);
plot(ejex,normpdf(ejex,mu,sd))
Estimacin no parmetrica de la densidad
[f,x]=ksdensity(espesor)
hold on
plot(x,f,'r')
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Generacin de datos aleatorios usando la
Toolbox Statistics
La toolbox Statistics presenta una herramienta interactiva para
la generacin de nmeros aleatorios de diferentes modelos
de probabilidad
Abrimos la herramienta interactiva tecleando
randtool
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Distribuciones de probabilidad usando la
Toolbox Statistics
La toolbox Statistics presenta una herramienta interactiva para
el manejo de distribuciones de probabilidad
Abrimos la herramienta interactiva tecleando
disttool
Podremos visualizar la funcin de distribucin (CDF) y funcin
de masa o densidad (PDF)
de diferentes modelos de
distribucin y ver como los
cambios en los parmetros
de cada modelo afectan a
dichas funciones.
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Ajuste de modelos de distribucin a
conjuntos de datos con la Toolbox Statistics
La toolbox Statistics presenta una herramienta interactiva para
el ajuste de distribuciones de probabilidad a conjuntos de
datos
Abrimos la herramienta interactiva tecleando
dfittool
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Ajuste de modelos de distribucin a
conjuntos de datos con la Toolbox Statistics
Elegimos el conjunto de datos a travs del botn Data
Seleccionamos el ajuste en el botn New Fit
Introduccin a lenguajes avanzados de
computacin: MATLAB en la docencia en
Qumica
Anlisis de datos
IV. Modelo de regresin
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin
En muchas situaciones prcticas, se presentan
problemas en los cuales necesitamos determinar si existe
una relacin entre dos o ms variables y se hace
necesario encontrar la naturaleza de dicha relacin.
Podemos clasificar los tipos de regresin:
segn el nmero de variables independientes:
Regresin simple: Cuando la variable Y depende
nicamente de una nica variable X.
Regresin mltiple: Cuando la variable Y depende de varias
variables (X
1
, X
2
, ..., X
r
)
segn el tipo de funcin f(X):
Regresin lineal: Cuando f(X) es una funcin lineal.
Regresin no lineal: Cuando f(X) no es una funcin lineal.
( ) Y f X
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin
La situacin general es la siguiente. Suponemos que una
variable aleatoria respuesta Y est relacionada con otra
variable explicativa o independiente X
Disponemos de una muestra de n individuos
Lo primero que debemos hacer es visualizar grficamente la
relacin existente entre ambas variables.
Utilizando la funcin plot de MATLAB podemos realizar un
grfico de dispersin, en el que los valores de la variable X se
disponen en el eje horizontal y los de Y en el vertical.
, 1, ,
i i
X Y i n
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal simple a travs
de un ejemplo
Consideramos como ejemplo los datos del fichero pureza.txt.
En ellos
Y es la pureza del oxgeno producido en un proceso de destilacin
qumico
X es el porcentaje de hidrocarburos presentes en el condensador
principal de la unidad de destilacin.
x=pureza(:,1)
y=pureza(:,2)
plot(x,y,'o')
xlabel('Nivel de hidrocarburos')
ylabel('Pureza del oxgeno (%)')
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal simple a travs
de un ejemplo
Dada una variable bidimensional podemos calcular medidas
caractersticas.
Vector de medias
mean(pureza)
Matriz de varianzas-covarianzas
varcovar=cov(pureza)
cov(pureza,1)
covxy=varcovar(1,2)
Calculamos el coeficiente de correlacin lineal para
determinar el grado de relacin lineal entre dos variables.
cc=corrcoef(pureza)
rxy=cc(1,2)
xy
xy
x y
s
r
s s
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal simple a travs
de un ejemplo
Buscamos la recta Y=a+bX que mejor ajusta a los datos
El ajuste del modelo de regresin lineal simple se realiza
mediante la funcin polyfit
m=polyfit(x,y,1)
m =
14.7863 74.4540
Recordamos que por el ajuste de regresin lineal por el
mtodo de mnimos cuadrados
b=covxy/var(x)
a=mean(y)-b*mean(x)
2
xy
x
s
b a y bx
s
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal simple a travs
de un ejemplo
A partir de la recta de regresin se pueden obtener las
predicciones para la variable Y a partir de los valores
conocidos de la variable X, sustituyendo convenientemente o
bien utilizando el comando polyval de MATLAB.
polyval(m,X) evala el polinomio con coeficientes
almacenados en el vector m en todos los valores de la
variable X
yest=polyval(m,x)
plot(x,y,'o')
hold on
plot(x,yest) % Recta de regresin
Coeficiente de determinacin R
2
r2=rxy^2
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal simple a travs
de un ejemplo
Anlisis de los residuos
err=yest-y
plot(x,err,o)
qqplot(err)
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal con la toolbox
Statistics
La toolbox Statistics incluye la funcin regress, que adems de
darnos los parmetros de la recta de regresin ajustada nos
da tambin de manera automtica informacin sobre los
residuos, coeficiente de determinacin, contrastes para los
parmetros,
x1=[ones(length(x),1) x]
regress(y,x1) % devuelve nicamente a y b
alpha=0.05
[betahat,Ibeta,res,Ires,stats] = regress(y,x1,alpha)
Adems la toolbox Statistics incluye funciones para realizar
regresin robusta, regresin stepwise,
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal con la toolbox
Statistics
La toolbox Statistics incluye la funcin regress, que adems de
darnos los parmetros de la recta de regresin ajustada nos
da tambin de manera automtica informacin sobre los
residuos, coeficiente de determinacin, contrastes para los
parmetros,
x1=[ones(length(x),1) x]
regress(y,x1) % devuelve nicamente a y b
alpha=0.05
[betahat,Ibeta,res,Ires,stats] = regress(y,x1,alpha)
Adems la toolbox Statistics incluye funciones para realizar
regresin robusta, regresin stepwise,
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
El modelo de regresin lineal con la toolbox
Statistics
Ejemplo: Se necesita determinar la capacidad de un mtodo
analtico para obtener resultados linealmente proporcionales
a la concentracin de analito de la muestra dentro de un
intervalo determinado. Para estudiar la linealidad del mtodo
se prepararon 8 disoluciones patrn, de concentracin
conocida del analito. Los resultados se estn en el fichero
validacion.txt
x=data(:,1)
y=data(:,2)
x1=[ones(length(x),1) x]
[betahat,Ibeta,res,Ires,stats] = regress(y,x1,alpha)
En vista de los resultados aceptaramos la hiptesis nula Ho:a=0
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin no lineal
No siempre tiene sentido ajustar un modelo
lineal. Por ejemplo algunos fenmenos resultan
ser mejor representados por un polinomio de
grado mayor. Importa los datos del fichero
nolineal.txt
x=nolineal(:,1);
y=nolineal(:,2);
plot(x,y,'o')
m=polyfit(x,y,3);
yest=polyval(m,x)
hold on
plot(x,yest,'r')
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin no lineal
m1=polyfit(x,y,1);
m2=polyfit(x,y,2);
m3=polyfit(x,y,3);
e1=(y-polyval(m1,x));
e2=(y-polyval(m2,x));
e3=(y-polyval(m3,x));
var(e1)
var(e2)
var(e3)
hold on
plot(x,polyval(m3,x),'r')
Introduccin a lenguajes avanzados de computacin: MATLAB en la docencia en Qumica. Beatriz Pateiro Lpez
Modelos de regresin no lineal con MATLAB
La Toolbox Statistics presenta otras funciones para ajustar otros
modelos de regresin ms complejos, como el modelo lineal
generalizado, regression tree,
Tambin, la Toolbox Curve Fitting incluye funciones para llevar
a cabo estimacin no paramtrica de la regresin