Sunteți pe pagina 1din 14

Introduccin al programa

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`

Departamento de Matematica Aplicada.

EPSZ-USAL

Practica n 7

Introduccion al programa Mathematica

La media aritmtica de n datos x1 , x2 ,..., xn de una variable X, se puede definir de la forma: M =

lista = 81.2, 1.78, 2.32, 2.84, 3.34, 3.81, 4.26, 4.68<;


Mean@listaD

ni=1 xi
.
n

3.02875
La media geomtrica de n datos
G = x1 * x2 * ... * xn

x1 , x2 ,..., xn de una variable X, se puede definir de la forma:

GeometricMean@listaD
2.7803
La media armnica de n datos
n
1
1
1
= x + x + ... + x
A
1

x1 , x2 ,..., xn de una variable X, se puede definir de la forma:

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

lista2 = 819, 18, 21, 14, 12, 18, 22<;


Median@lista2D
18

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:

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

Practica n 7

Commonest[lista2]
818<

Commonest[lista]
81.2, 1.78, 2.32, 2.84, 3.34, 3.81, 4.26, 4.68<

Si hay ms de una moda, las indica todas:

datos = Join@Table@1, 88<D, Table@2, 83<D,


Table@3, 88<D, Table@4, 85<D, Table@5, 84<D, 86<D
Commonest@datosD

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<

Cuartiles, Deciles y Percentiles.


Se llaman cuartiles de un conjunto de valores x1 , x2 ,..., xn de una variable X, a tres valores de la variable
que dividen la serie de datos en cuatro partes iguales. Se representan por Q1 , Q2 y Q3 y se designan primer
cuartil, segundo cuartil y tercer cuartil. El primer cuartil es el valor de la variable mayor que la cuarta parte
de los datos y menor que las tres cuartas partes; el segundo cuartil es la mediana y el tercer cuartil es el
valor de la variable mayor que las tres cuartas partes de los datos y menor que la cuarta parte.
Se llaman deciles de un conjunto de valores x1 , x2 ,..., xn de una variable X, a nueve valores de la variable
que dividen la serie de datos en diez partes iguales. Se representan por D1 , D2 ... D9 y se designan primer
decil, segundo decil, etc. El primer decil es el valor de la variable mayor que la dcima de los datos y
menor que las nueve dcimas partes, y as sucesivamente.
Se llaman percentiles de un conjunto de valores x1 , x2 ,..., xn de una variable X, a los 99 valores de la
variable que dividen la serie de datos en cien partes iguales. Se representan por P1 ,P2 ,...,P99 y se designan
primer, segundo,..., nonagsimo noveno percentil, respectivamente. El primer percentil es el valor de la
variable mayor que la centsima parte de los datos y menor que las noventa y nueve centsimas partes, y as
sucesivamente.
Mathematica tiene el comando:

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.

Departamento de Matematica Aplicada.

EPSZ-USAL

Practica n 7

Introduccion al programa Mathematica

listalarga = Range@1, 200D


Quantile@listalarga, 0.25D
81, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200<
50
Quantile@listalarga, 0.50D
100
Quantile@listalarga, 0.01D
2
Quantile@listalarga, 0.60D
120
Quantile@listalarga, 0.99D
198

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 =

ni=1 Hxi - xL2


n-1

Para calcular la varianza, Mathematica tiene el comando:

Variance@ listaD

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

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.

datos1 = Table@8x, Sin@xD<, 8x, 0, 2 Pi, 2 Pi 40<D;


datos2 = Table@8x, Sin@2 xD<, 8x, 0, 2 Pi, 2 Pi 40<D;
ListPlot@8datos1, datos2<,
PlotStyle -> 88Red, PointSize@0.01D<, 8Blue, PointSize@0.02D<<D
1.0

0.5

-0.5

-1.0

Departamento de Matematica Aplicada.

EPSZ-USAL

Practica n 7

Introduccion al programa Mathematica

ListPlot@8datos1, datos2<, PlotMarkers 8X, O<, PlotStyle 8Green, Purple<D

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

ListPlot@8datos1, datos2<, PlotMarkers 8, <,


PlotStyle 8Cyan, Brown<, Joined -> TrueD
1.0

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:

puntos = ListPlot@secoreal, PlotStyle 8PointSize@0.02D, Red<D


1000

900
800
700
600

1050

1100

1150

1200

Comenzamos con un ajuste a un modelo lineal con:

LinearModelFit@ datos, 8f1, f2, f3 ...<, xD

Vamos empezando con un ajuste lineal: primero definimos una recta de regresin mnimo- cuadrtica:

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

Practica n 7

recta = LinearModelFit@secoreal, 81, x<, xD


FittedModelB -393.795 + 0.883212 x F

modelo = Normal@rectaD
-393.795 + 0.883212 x

recta@"ParameterTable"D
Estimate
1
x

Standard Error t Statistic

-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:

rectaplot = Plot@modelo, 8x, 900, 1500<D;


Show@puntos, rectaplotD

1000

900
800
700
600
500

1000

1100

1200

1300

1400

1500

Realizamos ahora un ajuste mediante un polinomio de segundo grado:

parabola = LinearModelFit@secoreal, 81, x, x^2<, xD


FittedModelB -28 736.4 + 52.2868 x - 0.0231333 x2 F

modelo2 = Normal@parabolaD

-28 736.4 + 52.2868 x - 0.0231333 x2


parabola@8"ParameterTable", "RSquared"<D
:1

x
x2

Estimate

Standard Error t Statistic P-Value

-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:

Departamento de Matematica Aplicada.

EPSZ-USAL

Practica n 7

Introduccion al programa Mathematica

parabolaplot = Plot@modelo2, 8x, 900, 1500<D;


Show@puntos, parabolaplotD
1000

500

1000

1100

1200

1300

-500

-1000

Realizamos ahora el ajuste con un polinomio de tercer grado:

cuadrica = LinearModelFit@secoreal, 81, x, x^2, x^3<, xD

FittedModelB 556 659.- 1534.1 x + 1.40463 x2 - 0.000426773 x3 F

modelo3 = Normal@cuadricaD

556 659.- 1534.1 x + 1.40463 x2 - 0.000426773 x3


cuadrica@8"ParameterTable", "RSquared"<D

:x

1
2

x
x3

Estimate

Standard Error t Statistic P-Value

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:

cuadricaplot = Plot@modelo3, 8x, 900, 1500<D;


Show@puntos, cuadricaplotD
2500
2000
1500
1000
500

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:

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

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

Standard Error t Statistic

-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

modelo3d2 = LinearModelFit@datos3d, 8x, y, x^2, y^2, x^3, y^3<, 8x, y<D


FittedModelB

240.932+ 9.11786 x - 1.09342 x2 + 0.0519802 x3 - 138.765 y + 26.2353 y2 - 1.57901 y3

Departamento de Matematica Aplicada.

EPSZ-USAL

Practica n 7

Introduccion al programa Mathematica

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

Standard Error t Statistic

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

Interpolando con InterpolatingPolynomial.


La instruccin de Mathematica que permite calcular el polinomio de interpolacin para unos datos es :

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, . . .}.

polint = Expand@InterpolatingPolynomial@secoreal, xDD N

-5.89097 106 + 21 825. x - 30.2605 x2 + 0.0186084 x3 - 4.28145 10-6 x4

polindib = Plot@polint, 8x, 900, 1500<D;

10

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

Practica n 7

Show@puntos, polindibD
1000

1000

1100

1200

1300

1400

-1000

-2000

Ejemplo: Dar una aproximacin polinmica de la curva y = (4 x3 - 9 x2 ) e-x en el intervalo [ 1, 6 ],


tomando seis y doce puntos equidistantes. Utilizar esas aproximaciones para estimar f [2.7].
Definiremos la funcin f[x], representndola en el intervalo que nos interesa.

f@x_D := I4 x3 - 9 x2 M E-x

curva = Plot@f@xD, 8x, 1, 6<D


2

-1

Vamos a realizar estimaciones diferentes utilizando polinomios de interpolacin de diferentes grados,


tomando en el mismo intervalo [ 1, 6] seis y doce puntos equidistantes.
Si tomamos seis puntos

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:

Departamento de Matematica Aplicada.

EPSZ-USAL

11

Practica n 7

Introduccion al programa Mathematica

puntosplot = ListPlot@dat, PlotStyle 8Red, PointSize@.03D<D;


pplot =
Plot@p, 8x, 1, 6<, PlotStyle 8Green, Thickness@0.01D, Dashing@80.01, 0.01<D<D;
Show@curva, puntosplot, pplotD
2

-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

Representamos de nuevo el polinomio pp y los puntos que se han utilizado en la interpolacin:

puntosplot = ListPlot@dat2, PlotStyle 8Red, PointSize@.03D<D;


pplot =
Plot@pp, 8x, 1, 6<, PlotStyle 8Green, Thickness@0.01D, Dashing@80.01, 0.01<D<D;
12

Departamento de Matematica Aplicada.

EPSZ-USAL

Introduccion al programa Mathematica

Practica n 7

Show@curva, puntosplot, pplotD


2

-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}...

datosinterpolacion = 8883.1, 7.7<, 27.2<, 888.8, 3.5<, 34.2<,


885.7, 7.4<, 38.7<, 884.1, 8.2<, 17.8<, 886.9, 7.1<, 43.6<, 88.5, 4.6<, 28.1<,
889.2, 3.7<, 45.3<, 885.1, 7.2<, 35.0<, 889.1, 5.6<, 38.4<<;
polinomio3d = Expand@InterpolatingPolynomial@datosinterpolacion, 8x, y<DD
-1100.18 + 308.709 x - 27.2684 x2 + 1.49586 x3 + 394.708 y 81.1233 x y + 1.23214 x2 y - 34.0075 y2 + 6.58413 x y2 + 0. y3

Departamento de Matematica Aplicada.

EPSZ-USAL

13

Practica n 7

Introduccion al programa Mathematica

puntos3d = ListPointPlot3D@datos3d, PlotStyle 8PointSize@0.03D<D;


dibujo3d = Plot3D@polinomio3d, 8x, 3, 9<, 8y, 3, 9<D;
Show@8puntos3d, dibujo3d<D

100

8
0

7
6
4
5
6
8

14

Departamento de Matematica Aplicada.

EPSZ-USAL

S-ar putea să vă placă și