Documente Academic
Documente Profesional
Documente Cultură
Mathematica .
Introduccin.
En esta prctica tiene dos partes. En la primera vamos a estudiar las medidas de tendencia central y las
medidas de dispersin de un conjunto de datos.
Por una parte, las medidas de tendencia central se dividen en tres tipos:
Medidas de promedio: media aritmtica, geomtrica y armnica.
Medidas de posicin: mediana, cuartiles, deciles y percentiles.
Medidas de frecuencia: moda.
Adems, es imprescindible conocer si los datos estn agrupados o no alrededor de los datos centrales, es
decir, su dispersin. Los parmetros que miden estas desviaciones respecto a las medidas de tendencia
central se llaman medidas de dispersin, y estudiaremos la varianza, la desviacin media y la desviacin
tpica.
En una segunda parte de la prctica, veremos como podemos ajustar datos, bien utilizando un modelo
lineal, o bien mediante interpolacin de dichos datos.
Medidas de promedio.
Mathematica tiene los siguientes comandos para las medias aritmtica, geomtrica y armnica:
Mean@ listaD
GeometricMean@listaD
HarmonicMean@listaD
Para utilizarlos, igual que con el resto de los que veremos posteriormente, hemos de cargar previamente el "Package" DescriptiveStatistics.m situado en el subdirectorio Statistics, en el que se encuentran
los comandos asociados a la estadstica descriptiva.
Ejemplo: La tensin de carga de un condensador viene dada por la frmula: Vc = 13 - 12.4 * e-50 t . La
tensin en ciertos instantes es:
1.2 1.78 2.32 2.84 3.34 3.81 4.26 4.68
Calcular la media aritmtica, la media geomtrica y la media geomtrica.
<< Statistics`DescriptiveStatistics`
EPSZ-USAL
Practica n 7
ni=1 xi
.
n
3.02875
La media geomtrica de n datos
G = x1 * x2 * ... * xn
GeometricMean@listaD
2.7803
La media armnica de n datos
n
1
1
1
= x + x + ... + x
A
1
HarmonicMean@listaD
2.50897
Medidas de posicin.
Mediana.
Se llama mediana de un conjunto de valores x1 , x2 ,..., xn de una variable X, al valor de la variable tal que,
ordenados los datos en sentido creciente, el nmero de datos que preceden a la mediana es igual al nmero
de datos que la siguen.
Mathematica tiene el comando siguiente para calcular la mediana:
Median@ listaD
Ejemplo: La temperatura mxima que ha marcado la CPU de uno de los ordenadores de la Escuela
Politcnica Superior de Zamora en los diferentes das de la semana ha sido la indicada en la tabla. Calcular
la mediana.
Das
lunes martes mircoles jueves viernes sbado domingo
Mxima HCL 19
18
21
14
18
14
22
Mathematica dispone adems de un comando que proporciona la moda (el valor ms frecuente). Si no hay
moda, repite todos los valores de la lista
Commonest@ listaD
Por ejemplo, con las dos listas anteriores:
EPSZ-USAL
Practica n 7
Commonest[lista2]
818<
Commonest[lista]
81.2, 1.78, 2.32, 2.84, 3.34, 3.81, 4.26, 4.68<
81, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6<
81, 3<
Quantile@ lista, nD
que calcula, respectivamente, el primer, segundo y tercer cuartiles para n=0.25, n=0.50 y n=0.75, los
deciles para n=0.1, n=02, etc., y los percentiles para n=0.01, n=0.02, etc.
EPSZ-USAL
Practica n 7
Medidas de dispersin.
Varianza.
Dados n valores x1 , x2 ,..., xn de una variable X, con media x, se llama varianza y se designa por S 2 a la
siguiente expresin:
S2 =
Variance@ listaD
EPSZ-USAL
Practica n 7
Variance@datosD
67
29
Desviacin tpica.
Dados n valores x1 , x2 ,..., xn de una variable X, se llama desviacin tpica y se designa por S a la raz
cuadrada positiva de la varianza.
Mathematica tiene el comando para el clculo de la desviacin tpica:
StandardDeviation@ listaD
StandardDeviation@datosD
67
29
Ajuste de datos
Vamos a mostrar algunas instrucciones de Mathematica para realizar ajuste de datos, pero no como una
interpolacin, sino como una regresin lineal.
Antes de comenzar con las tcnicas, veamos cmo Mathematica pinta un listado de datos de la forma
{xi,yi}. Para ello tenemos el comando:
ListPlot@datosD
que puede representar grficamente uno o varios conjuntos de datos de la forma{{x_1,y_1},...,{x_n,y_n}.
Estos puntos pueden ser representados con diferente tamao, color, smbolo, etc.
0.5
-0.5
-1.0
EPSZ-USAL
Practica n 7
1.0
OOO X X X X X
X
X
XO
X
X
X
O X
O
X
0.5
X
X
OX
O
X
OOO
O
X
O
X
X
X
XO
-0.5
O
X
X
O
X
X O
X
OOO
-1.0
O
X
X
OX
O
X
X X X X X OOO
0.5
-0.5
-1.0
Veamos el ajuste de un conjunto de datos. Por ejemplo, definimos los puntos con los que queremos
trabajar, que se corresponden a altura (en metros) de determinadas localidades y a la precipitacin acumulada en esas localidades:
secoreal = 881150, 1003<, 81065, 480<, 81238, 476<, 81000, 456<, 8993, 426<<;
Los pintamos para ver cul es su distribucin:
900
800
700
600
1050
1100
1150
1200
Vamos empezando con un ajuste lineal: primero definimos una recta de regresin mnimo- cuadrtica:
EPSZ-USAL
Practica n 7
modelo = Normal@rectaD
-393.795 + 0.883212 x
recta@"ParameterTable"D
Estimate
1
x
-393.795 1365.04
0.883212 1.24867
P-Value
-0.288485 0.79176
0.707323 0.530361
recta@"RSquared"D
0.142932
Pintamos la recta de regresin junto a los puntos para ver el ajuste visualmente:
1000
900
800
700
600
500
1000
1100
1200
1300
1400
1500
modelo2 = Normal@parabolaD
x
x2
Estimate
-28 736.4
20 232.2
52.2868
36.6471
-0.0231333 0.0164851
-1.42033 0.291369
1.42677 0.289776
-1.40328 0.295642
, 0.568141>
Pintamos la parbola de regresin junto a los puntos para ver el ajuste visualmente:
EPSZ-USAL
Practica n 7
500
1000
1100
1200
1300
-500
-1000
modelo3 = Normal@cuadricaD
:x
1
2
x
x3
Estimate
556 659.
-1534.1
1.40463
-0.000426773
96 922.9
262.486
0.236148
0.000070578
5.74332
-5.84449
5.94808
-6.04682
0.109745
0.107882
0.106038
0.104337
, 0.988503>
Pintamos la curva de regresin junto a los puntos para ver el ajuste visualmente:
1000
1100
1200
1300
1400
1500
-500
Una observacin: estamos utilizando LinearModelFit en lugar de un simple Fit para obtener informacin
sobre el modelo, por ejemplo el coeficiente de determinacin. Si solo queremos un ajuste exploratorio,
podemos utilizar Fit.
Si queremos realizar este tipo de ajuste en el espacio, podemos utilizar la misma instruccin, introduciendo
datos tridimensionales e indicando las variables en las que se quiere hacer el ajuste:
EPSZ-USAL
Practica n 7
Si queremos realizar este tipo de ajuste en el espacio, podemos utilizar la misma instruccin, introduciendo
datos tridimensionales e indicando las variables en las que se quiere hacer el ajuste:
datos3d =
883.1, 7.7, 27.2<, 88.8, 3.5, 34.2<, 85.7, 7.4, 38.7<, 84.1, 8.2, 17.8<, 86.9, 7.1, 43.6<,
84.5, 4.6, 28.1<, 89.2, 3.7, 45.3<, 85.1, 7.2, 35.0<, 89.1, 5.6, 38.4<<;
modelo3d = LinearModelFit@datos3d, 8x, y, x^2, y^2<, 8x, y<D
FittedModelB -39.0853 + 8.82013 x - 0.466852 x2 + 14.1074 y - 1.18377 y2 F
model3d = Normal@modelo3dD;
puntos3d = ListPointPlot3D@datos3d, PlotStyle 8PointSize@0.03D<D;
grafica3d = Plot3D@model3d, 8x, 3, 9<, 8y, 3, 9<D;
Show@8puntos3d, grafica3d<D
8
6
4
20
30
40
4
modelo3d@8"ParameterTable", "RSquared"<D
1
:x
y
x2
y2
Estimate
-38.6553
8.88085
13.9616
43.7657
9.68429
16.1452
-0.473479 0.759822
-1.17465 1.39963
P-Value
-0.883232 0.426999
0.917037 0.411012
0.864754 0.435952
, 0.661576>
-0.623145 0.566959
-0.839259 0.448554
EPSZ-USAL
Practica n 7
model3d2 = Normal@modelo3d2D;
grafica3d2 = Plot3D@model3d2, 8x, 3, 9<, 8y, 3, 9<D;
Show@8puntos3d, grafica3d2<D
40
8
20
7
0
6
4
5
6
8
modelo3d2@8"ParameterTable", "RSquared"<D
Estimate
P-Value
1
x
y
240.932
9.11786
-138.765
212.715
69.5104
142.584
1.13265
0.131173
-0.973219
0.374874
0.907643
0.433097
x2
y2
-1.09342
26.2353
12.5609
25.5196
-0.0870497 0.938563
1.02805
0.412005
x3
y3
0.0519802 0.703744
-1.57901 1.46618
0.0738624
-1.07695
, 0.824517>
0.947842
0.394149
InterpolatingPolynomial@datos, variableD
que calcula el polinomio que pasa por los puntos especificados en la lista de datos. Estos puntos pueden
darse de dos formas, bien { {x1, y1}, {x2, y2}, ... }, bien { f1, f2, . . . }, asumiendo entonces que los valores
de las xi se toman como {1, 2, . . .}.
10
EPSZ-USAL
Practica n 7
Show@puntos, polindibD
1000
1000
1100
1200
1300
1400
-1000
-2000
f@x_D := I4 x3 - 9 x2 M E-x
-1
6-1
salto =
;
5
dat = N@Table@8x, f@xD<, 8x, 1, 6, salto<DD;
p = InterpolatingPolynomial@dat, xD;
Expand@pD
2.97756- 11.0018 x + 8.26294 x2 - 2.36399 x3 + 0.300265 x4 - 0.0143538 x5
Vamos a representar el polinomio p que acabamos de construir, junto con los puntos que se han
utilizado en la interpolacin:
EPSZ-USAL
11
Practica n 7
-1
Si utilizamos este polinomio de interpolacin para estimar el valor de la funcin en el punto 2.7 la aproximacin es:
p . x 2.7
0.876711
f@2.7D
0.881871
Si queremos una aproximacin mejor, debemos utilizar un nmero superior de puntos, por ejemplo 12
puntos.
6-1
salto =
;
11
dat2 = N@Table@8x, f@xD<, 8x, 1, 6, salto<DD;
pp = InterpolatingPolynomial@dat2, xD;
Expand@ppD
0.161693- 0.762026 x - 7.39877 x2 + 11.0049 x3 - 6.84729 x4 +
2.53312 x5 - 0.627345 x6 + 0.108407 x7 - 0.0130427 x8 +
0.00104782 x9 - 0.0000506753 x10 + 1.11692 10-6 x11
EPSZ-USAL
Practica n 7
-1
pp . x 2.7
0.881871
f@2.7D
0.881871
Podemos ver que en este caso la aproximacin es muy adecuada.
Si queremos utilizar una interpolacin en el espacio, podemos utilizar la misma instrucccin InterpolatingPolynomial, indicando tambin las variables. Vamos a utilizar los datos del ajuste, pero hay que
indicrselos en grupo, de la forma {{x1,y1},z1}, {{x2,y2},z2}...
EPSZ-USAL
13
Practica n 7
100
8
0
7
6
4
5
6
8
14
EPSZ-USAL