miércoles, 21 de diciembre de 2022

Álgebra lineal con GNU Octave: un apoyo para estudiar bien y con motivación

El software matemático GNU Octave —pertenece al software libre, y por tanto, es gratuito— es una valiosa herramienta empleada en el cálculo y en el análisis numérico —ofrece también un nutrido repertorio de utilidades para la elaboración de gráficas— que no es difícil de empezar a utilizar en Bachillerato si restringimos sus prestaciones al currículo propio de dichos estudios, si bien sus posibilidades van mucho más allá, orientándose realmente a los estudios universitarios, incluso a la investigación. Para animaros a que lo utilicéis, en este ejemplo muestro cómo resolver un sistema de ecuaciones lineales compatible determinado empleando la reducción de Gauss. Es claro que no podréis usar esta herramienta de apoyo en los exámenes de acceso a la universidad y en los exámenes ordinarios (por lo menos, de momento), pero os ayudará enormemente cuando estudiéis la asignatura en vuestra casas, permitiéndoos investigar en los conceptos y procedimientos, así como contrastar, comprobar o, simplemente, saltaros los procedimientos rutinarios (ya aprendidos) para resolver problemas más interesantes.

Consideremos el siguiente sistema de ecuaciones lineales con tres incóngitas $$\left.\begin{matrix}x&+&y&+&z&=&1 \\ x&-&2y&+&3z&=&2 \\ x&+&3y&-&z&=&3\end{matrix}\right\}$$ que en forma matricial puede escribirse de la forma $$\begin{pmatrix} 1 & 1 & 1 \\ 1 & -2 & 3 \\ 1 & 3 & -1 \end{pmatrix}\,\begin{pmatrix} x \\ y \\ z\end{pmatrix}=\begin{pmatrix} 1 \\ 2 \\ 3\end{pmatrix}$$ La matriz (ampliada) de los coeficientes del sistema es $$A=\left(\begin{array}{ccc|c} 1&1&1&1 \\ 1&-2&3&2 \\ 1&3&-1&3 \end{array}\right) $$

Mediante el uso de la herramienta GNU Octave [3] voy a resolver el sistema escalonando por Gauss la matriz ampliada, con pivotamiento por columnas, obteniendo así una matriz equivalente (en cuanto a la solución del sistema) de tipo triangular superior $U$ tal que $U^{\top}U=A$. Con Octave es tan cómodo como hacer los siguiente:

  
  >> A=([1,1,1;1,-2,3;1,3,-1])
  A =

   1   1   1   
   1  -2   3  
   1   3  -1   
  
  % Obtengo el rango de la matriz de los coeficientes
  >> rank(A)
  ans=3
 
 
 >> A_e=([1,1,1,1;1,-2,3,2;1,3,-1,3])
  A_e =

   1   1   1   8	   
   1  -2   3  -3
   1   3  -1  -4
 
 % Obtengo el rango de la matriz ampliada 
 % con los términos independientes
 >> rank(A_e)
 ans=3
 
 % Analizo el sistema según el tipo de solución
 % (teorema de Rouché-Fröbenius):
 % Como el rango de A y de A_e coinciden,
 % el sistema es compatible,
 % y siendo dicho rango igual a 3,
 % al coincidir con el número de incógnitas,
 % el sistema es compatible determinado
 
 
 % Obtengo la matriz reducida inferior y superiormente, 
 % y, también, normalizo los elementos de la diagonal
 % principal (matriz reducida de Gauss):
 >> U=rref(A_e)
  U =

   1   0   0   8
   0   1   0  -3
   0   0   1  -4 
   
 % Obsérvese que a la vista de la matriz ampliada reducida
 % es evidente cuáles son los rangos 
 % (contabilizando el número de filas no identicamente nulas)
 % que ya se habían calculado 
 % expresamente con anterioridad (con la instrucción rank(.))
 % paso éste que es, por tanto, prescindible
   
   
  
esto es, se obtiene la matriz reducida $$\left(\begin{array}{ccc|c} 1&0&0&8 \\ 0&1&0&-3 \\ 0&0&1&-4 \end{array}\right) $$ Así, un sistema equivalente en solución al sistema original es $$\left.\begin{matrix}x&&&&&=&8 \\ &&y&&&=&-3 \\ &&&&z&=&-4\end{matrix}\right\}$$ que nos da directamente la solución.

% Compruebo ahora la solución encontrada, 
% sustituyendo en las ecuaciones del sistema original
% los valores de las incóngitas que acabamos de calcular

% Fijo los valores encontrados 
% a las variables (del programa) x, y, z
% que defino al paso:

  >> x = 8
  ans  = 8
  >> y = -3
  ans = -3
  >> z = -4
  ans = -4

% Sustituyo en la primera ecuación
% En efecto:

% Los sustituyo en la primera ecuación
>> x+y+z
ans = 1
% que, en efecto, es el valor 
% del término independiente de la misma


% Los sustituyo en la segunda ecuación
>> x-2*y +3*z
ans = 2
% que, en efecto, es el valor 
% del término independiente de la misma

% Los sustituyo en la tercera ecuación
>> x+3*y-z
ans = 3
% que, en efecto, es el valor 
% del término independiente de la misma.
% Y con esto, hemos terminado.

$\diamond$

Referencias

  [1] https://octave.org/. Página web de desarrollo y descarga del programa de cálculo GNU Octave.
  [2] John W. Eaton; David Bateman; Søren Hauberg; Rik Wehbring, Free Your Numbers, https://www.gnu.org/software/octave/octave.pdf. Manual actualizado de la herramienta GNU Octave.
  [3] https://octave.org/

jueves, 15 de septiembre de 2022

Calculadoras científicas modernas: la calculador Numworks

En breve expondré material de ayuda para el aprendizaje y uso de la calculadora científica Numworks, que encuentro especialmente útil para el aprendizaje del cálculo numérico, la estadística y el cálculo de probabilidades, a nivel de Bachillerato. Además es gráfica y es programable en lenguaje Python. Podéis probarla y utilizarla en vuestro ordenador con este emulador, y en su canal de vídeo podréis visionar muchos tutoriales para aprender a utilizarla con eficacia.

$\diamond$

martes, 30 de agosto de 2022

Integral definida de la función piso

Nos proponemos calcular la integral $$\displaystyle \int_{0}^{n}\,\left \lfloor x \right \rfloor\,dx$$, siendo $n$ un número entero positivo, y donde $\left \lfloor x \right \rfloor$ denota la función piso (o suelo), que, para todo número real $x$, se define como $\left \lfloor x \right \rfloor = \text{máximo}(\{\ell \le x: \ell \in \mathbb{Z}\}$

Ensayemos esta integral para fijando un valor de $n$, pongamos que $n=4$, para ver lo que ocurre. Al tratarse de una función a trozos, con un número finito —y, por tanto, numerable— de discontinuidades, la función $f(x)=\left \lfloor x \right \rfloor$ es integrable Riemann. Podéis ver en la siguiente figura la gráfica realizada con GeoGebra (tecleando $\text{floor}(x)$ —que corresponde a la sintaxis de la función piso en la mayor parte de los programas y calculadoras— en la línea de entrada), si bien también podemos hacerlo a mano sin muchas dificultades:

Por otra parte, podemos servirnos del cálculo automático que nos ofrece WolframAlpha para saber qué encontraremos. Veámoslo en esta segunda figura, que he obtenido tecleando en la casilla de entradas de WolframAlpha lo siguiente: $$\text{integrate}(\text{floor}(x),x,0,4)$$:
Reproduzcamos ahora este resultado, paso a paso: $\displaystyle \int_{0}^{4}\,\left \lfloor x \right \rfloor\,dx=\int_{0}^{1}\,0\,dx+\int_{1}^{2}\,1\,dx+\int_{2}^{3}\,2\,dx+\int_{3}^{4}\,4\,dx$
  $\displaystyle=0+\left[x\right]_{1}^{2}+\left[x\right]_{2}^{3}+\left[x\right]_{3}^{4}$
    $\displaystyle=0+(2-1)+(3-2)+(4-3)$
      $=0+1+2+3$
       $=6$

Observemos que los términos entre paréntesis de la penúltima línea de arriba están en progresión aritmética, cuya diferencia es $d=1$, el primer término tiene valor $0$ y el cuarto $6$, y, por tanto, bien podemos escribir que $\displaystyle \int_{0}^{4}\,\left \lfloor x \right \rfloor\,dx= \dfrac{(0+ 3)\cdot 4}{2}=6$ lo cual nos hace pensar en inducir una fórmula general para la integral $\displaystyle \int_{0}^{n}\,\left \lfloor x \right \rfloor)\,dx$, con $n$ un número entero positivo, pues, visto cómo se ha desarrollado el cálculo de la integral definida pedida entre $0$ y $4$, fácilmente inducimos el siguiente resultado para esta otra, más general, cuyo resultado consta de $n$ términos de una progresión aritmética, con primer término, también, igual a $0$, diferencia igual a $1$, y último término igual a $0+1\cdot(n-1)=n-1$: $$\displaystyle \int_{0}^{n}\,\left \lfloor x \right \rfloor\,dx=(0+1+2+3+\overset{\underbrace{n}}{\ldots}+n-1=\dfrac{(0+(n-1))\,n}{2}=\dfrac{n^2-n}{2}$$ Notemos que, si $n=4$, obtenemos el resultado ya sabido: $\dfrac{n^2-n}{2}=\dfrac{4^2-4}{2}=\dfrac{12}{2}=6$, como debe ser.

También podemos llegar directamente a este resultado general haciendo un poco de álgebra con sumatorios: $$\displaystyle \int_{0}^{n}\,\left \lfloor x \right \rfloor\,dx\overset{(1)}{=}\sum_{k=0}^{n-1}\,\int_{k}^{k+1}\,k\,dx=\sum_{k=0}^{n-1}k\,\int_{k}^{k+1}\,dx=\sum_{k=0}^{n-1}k\,\left[x\right]_{k}^{k+1}=\sum_{k=0}^{n-1}k\,(k+1-k)\overset{(2)}{=}\sum_{k=0}^{n-1}k=\dfrac{(0+(n-1))\cdot n}{2}$$ y simplificando, $$\displaystyle \int_{0}^{n}\,\left \lfloor x \right \rfloor\,dx=\dfrac{n^2-n}{2}$$ Aclaraciones:
  (1): Entre $k=0$ y $k=n-1$ tenemos los $n$ sumandos del desarrollo
  (2): Recordemos que el término $n$-ésimo de una sucesión aritmética de diferencia $d$ y primer término $a_1$ es $a_n=a_1+d\,(n-1)$, y que la suma de los $n$ (sucesivos) primeros términos de dicha sucesión es $\dfrac{(a_1+a_n)\,n}{2}$. De ahí que la suma de los $n$ sucesivos primeros términos de una sucesión aritmética de primer término igual a $0$, diferencia igual a $1$, y último término igual a $n-1$ es $\dfrac{(0+(n-1))\cdot n}{2}$

Comentario: No siempre podremos evitar los desarrollos si empleamos herramientas de cálculo automático. Démonos cuenta de que al pedir a WolframAlpha que nos de directamente el resultado que acabamos de obtener, tecleando $$\text{integrate}(\text{floor}(x),x,0,n)$$ no obtenemos nada en claro:

$\diamond$

miércoles, 24 de marzo de 2021

Estimación de una proporción

ENUNCIADO. Se ha realizado una encuesta sobre los hábitos de lectura de la población universitaria, tomando una muestra aleatoria simple de $180$ personas, y obteniéndose como resultado que $117$ de dichas personas manifiestan leer, como mínimo, $1$ libro al mes. Hace $5$ años, la proporción de universitarios que declaraban leer, como mínimo $1$ libro al mes, era del $60\,\%$. Se pide:
(a) Realizar un contraste de hipótesis bilateral, a un nivel de significación $\alpha=0{,}05$ (nivel de confianza del $95\,\%$), para decidir si la población de universitarios que declaran leer como mínimo $1$ libro al mes sigue siendo del $60\,\%$ (hipótesis fundamental)
(b) ¿Qué tamaño muestral tendría que tener la muestra para poder rechazar la hipótesis fundamental?

SOLUCIÓN

(a)
1. Realización del test calculando la ubicación del valor observado en la muestra en el intervalo/zona de aceptación o bien en en la zona de rechazo de la misma:

Llamamos $p$ a la proporción en la población que corresponde a leer como mínimo $1$ libro al mes.

Denominamos $\hat{p}$ al estimador de la proporción en la población a partir de la información de la muestra, por lo que $\hat{p}$ es una variable aleatoria, que es función de las variables del muestreo, ya que $\hat{p}:=\dfrac{Y}{n}$, siendo $Y$ el número de veces que se verifica en la población una determinada clase $S$ caracterizada por la propiedad; es decir, $Y$ es el número de elementos de la muestra $(e_1,e_2,\ldots,e_n)$ que son de la clase $S$. Así, considerando las variables aleatorias de Bernouilli independientes del mismo parámetro $p:=P(S)$ $$X_i=\left\{ \begin{matrix} 1 & \text{si el elemento} \, e_i \in S \\ 0 & \text{si el elemento}\, e_i \in S \end{matrix} \right. \,\text{para}\, i=1,\ldots\,n$$ la variable $Y$ es la suma de las mismas $$\displaystyle Y=\dfrac{\displaystyle\sum_{i=1}^{n}\,X_i}{n}$$ por lo que tendremos que $Y$ es una variable aleatoria binomial $B(n,p)$, ya que se supone que la realización del muestro se realiza con reemplazamiento —démonos cuenta de que se puede pues considerar que la variable $\hat{p}:=\dfrac{Y}{n}$ es un caso particular del estimador de la media, $\bar{X}$.

Realizaremos el contraste de hipótesis (la estimación) manejando dicho estimador (estadístico).

Sabemos que el valor observado de la proporción medida en la muestra es $\hat{p}_{\text{observado}}=\dfrac{117}{180}=0{,}65$.
También tenemos que tener en cuenta, claro está, el tamaño de la muestra, que es $n=180$.

Si bien la variable aleatoria $Y$, y por tanto también $\hat{p}$, obedecen a una distribución binomial, podremos facilitar el cálculo aproximando $\hat{p}$ a una distribución normal. En efecto, por el Teorema del Límite Central, sabemos que la variable aleatoria del estadístico (estimador) $\hat{p}$ sigue una distribución aproximada normal de media $p$ y desviación estándar $\sqrt{\dfrac{p\cdot(1-p)}{n}}$, esto es, $\hat{p}$ es $N\left(p\,,\,\sqrt{\dfrac{p\cdot(1-p)}{n}}\right)$.

Para la población actual no conocemos el valor del parámetro $p$, por lo que tendremos que arreglárnos sustituyendo éste por algún valor aproximado del mismo, $p_0$, y que, según el enunciado, tomaremos el valor de éste es del $60\,\%$, que corresponde al que se conocía hace unos años en la población y al que llamaremos pongamos que $p_0$; así que establecemos $p\approx p_{0}=0,60$. Con todo esto ya podemos decir que el estadístico $\hat{p}$ (variable aleatoria asociada al estimador de la proporción de la población) sigue la siguiente distribución de probabilidad en el muestreo: $$\hat{p} \approx N \left( p_0 \,,\, \sqrt{ \dfrac{p_0 \cdot(1-p_0) }{n}} \right)$$
(a) Plateemos el test de hipótesis:
Queremos contrastar la hipótesis fundamental (o hipótesis nula) $H_0$ —nos parece bastante plausible, y por tanto confiamos en que sea cierta— en contraposición a la hipótesis alternativa $H_1$; y ello, con un nivel de significación del test prefijado $\alpha=5\,\%=0,05$ (y pot tanto con un nivel de confianza $1-\alpha=95\,\%=0,95$). Establecemos pues la hipótesis fundamental: $$H_0:\, p\approx p_0=0,60$$ frente a la hipótesis alternativa: $$H_1:\, p\approx p_0 \neq 0{,}60$$

Tratándose de un test (contraste) bilateral —habrá que manejar las dos colas (izquierda y derecha) de la función de densidad de probabilidad de la variable aleatoria del estadístico de contraste—, aceptaremos $H_0$ si $P\{p_0 -E \le \hat{p} \le p_0+E\} = 1-\alpha$, luego el intervalo de aceptación de $H_0$ viene dado por $$\text{IA}=(p_0-E\,,\,p_0+E)$$, siendo la amplitud de error $E=z_{\alpha/2}\cdot \sqrt{\dfrac{p_0 \cdot (1-p_0)}{n}}$

Al tipificar la variable $\hat{p}$, se pasa a la variable $$Z=\dfrac{\hat{p}-p_0}{\sqrt{p_0 \cdot (1-p_0)/n}}$$ que es una normal $N(0,1)$. Obtendremos, ahora, la abscisa crítica $z_{\alpha/2}$ —se determina de la misma forma que en los problemas de intervalos de confianza—, teniendo en cuenta que $P\{Z \le z_{\alpha/2}\} = 1-\alpha/2$; y, como $\alpha/2=0{,}05/2=0{,}025$, consultando las tablas de la función de distribución de probabilidad $N(0,1)$, para $P\{Z \le z_{\alpha/2}\} = 0{,}975$, encontramos $z_{\alpha/2}=1{,96}$

Así, la amplitud de error a la que llegamos es $E=1{,}96 \cdot \sqrt{0{,}6\cdot (1-0{,}6)/180}=0{,}0716$, luego el intervalo de aceptación de $H_0$, $\text{IA}$, debe cumplir que $\left|\hat{p}-p_0\right|=E$, luego $$\text{IA}=(0{,}6-0{,}0716\,,\,0{,}6+0{,}0716)$$ esto es $$\text{IA}=(0{,}5284\,,\,0{,}6716)$$
Y como la proporción medida en la muestra $\hat{p}=0{,}65 \in \text{IA}$, concluimos que debemos confiar en la aceptación de la hipótesis fundamental $H_0$, esto es, aceptamos que la proporción de la población de estudiantes que como mínimo leen un libro al mes se mantiene en un $60\,\%$, según un nivel de significación $\alpha=0,05$ (es decir, a un nivel de confianza del $95\,\%$).


-oOo-

2. Realización del test calculando el $\text{p-valor}$:


Otra manera de llegar a la misma conclusión consiste en calcular el p-valor (o valor-p) utilizando la distribución de probabilidad en el muestreo del estadístico de prueba asumiendo que la hipótesis fundamental es cierta. Subrayemos pues que entendemos el p-valor como el error de tipo I observado (no el establecido de antemano en el test y al que denominamos nivel de significación $\alpha$, que en nuestro caso es del $0.05$); dicho de otra manera, el p-valor es el mínimo nivel de significación necesario para poder rechazar la hipótesis fundamental $H_0$ que se ha aceptado como cierta en un principio (para realizar el cálculo del p-valor). Por tanto, una vez conocido el p-valor procederemos de la manera siguiente para realizar el contraste:
  Si $\text{p-valor}\le \alpha$ entonces deberemos rechazar la hipótesis fundamental $H_0$ (que habíamos supuesta cierta en un principio) y por tanto aceptaremos la hipótesis alternativa $H_1$
  En caso contrario, si $\text{p-valor}\gt \alpha$, no podremos rechazar la hipótesis fundamental $H_0$

Al cálcular el p-valor nos podemos encontrar que, según el caso, el contraste se tenga que realizar por la cola superior, por la cola inferior, o bien de manera bilateral. Este último caso es el que procede para este problema que nos ocupa ahora. Hagamos el cálculo:
  Como al estadístico del contraste corresponde una variable $Z=\dfrac{\hat{p}-p_0}{\sqrt{p_0 \cdot (1-p_0)/n)}}\sim N(0,1)$ (lo cual ya se ha justificado arriba) tenemos que, el valor observado del estadístico para la variable tipificada $Z$ del contraste (o valor de prueba del estadístico) es igual a $z_{\text{prueba}}:=\dfrac{\hat{p}_{\text{prueba}}-p_0}{\sqrt{p_0 \cdot (1-p_0)/n)}}=\dfrac{0,65-0,60}{\sqrt{0,60\cdot (1-0,60)/180)}}=1,3693$ , y al tener en cuenta la bilateralidad con la función de densidad de probabilidad de $Z\sim N(0,1)$ simétrica y centrada en el valor $z=0$, encontramos que $\text{p-valor}:=P\{Z \le - z_{\text{prueba} }\}+P\{Z \ge z_{\text{prueba} }\}=2\,P\{Z \ge z_{\text{prueba}}\}=2\cdot (1-P\{Z \le z_{\text{prueba}}\})=$
  $=2\cdot (1-P\{Z \le 1,3693\})=2\cdot (1-F(1,3693))\overset{\text{tablas de}\,F(z)}{=}2\cdot(1-0,9145)\approx 0,171 \gt \alpha=0,05$ de lo cual concluimos que no podemos rechazar la hipótesis fundamental $H_0$. Como cabía esperar, es la misma conclusión a la que hemos llegado razonando mediante los intervalos de aceptación y rechazo de la hipótesis fundamental.

Observación:
Por el significado del $\text{p-valor}$, démonos cuenta de que si hubiésemos tomado un nivel de significación $\alpha$ mayor que $0,05$ pero, eso sí, menor que $0,171$, la conclusión del test sería la misma: no rechazar la hipótesis fundamental $H_0$. Por el contrario, para valores de $\alpha$ mayores que $0,171$, esto es, para un contraste más «exigente» que eso, sí tendríamos que rechazar la hipótesis fundamental.


* * *


(b)
Si el tamaño muestral $n$ aumenta, entonces el intervalo de aceptación se estrecha (se reduce el error $E$, que es la amplitud de dicho intervalo), por tanto, a partir de un cierto valor de $n$, la proporción medida en la muestra caerá fuera del intervalo de aceptación (se situará en la zona de rechazo de la hipótesis fundamental), con lo cual, no podremos seguir dando apoyo a la hipótesis fundamental, debiendo aceptar la h. alternativa, y por consiguiente hay que concluir, en ese caso, que la proporción en la población no es del $60\,\%$. Veamos cuánto debe ser el valor mínimo de $n$ para que eso ocurra:

Por lo dicho anteriormente, para poder rechazar $H_0$, deberá cumplirse (condición crítica) que $\left|\hat{p}-p_0\right| = E$; por lo que imponiendo esta condición, $$0{,}65-0{,}60=1{,}96 \cdot \sqrt{0{,}6\cdot (1-0{,}6)/n}$$ es decir
$$0{,}05=1{,}96 \cdot \sqrt{0{,}6\cdot (1-0{,}6)/n}$$ elevando al cuadrado y despejando $n$ llegamos a $$n=\dfrac{0{,}6\cdot 0{,}4}{(0{,}05/1{,}96)^2} \approx 368$$

Con lo cual, para tamaños muestrales $n \ge 368$, tendremos que rechazar la hipótesis fundamental (a nivel de significación $\alpha=0{,}05 $). $\square$
- - -

Referencias:
  [1] Compta, A., et. al., Matemàtiques II, Barcanova, Barcelona, 1993
  [2] Guàrdia, J.; Viader, M., Estadística, Castellnou, Barcelona, 1999
  [3] García Pérez, A., Estadística Básica con R, UNED, Madrid, 2010
  [4] Allepús, J., et. al., Exercicis d'inferència estadística, Cossetània, Valls, 2002
  [5] Gonick, L.; Smith, W, La Estadística en Cómic, Zendrera Zariquiey, Barcelona, 1999

Cálculo de límites de sucesiones

Enunciado:
Calcúlese el siguiente límite:
    $\displaystyle \lim_{n \rightarrow \infty}\,\dfrac{2^{n+1}+3^{n+1}}{2^{n}+3^{n}}$


Resolución:
Podemos simplificar algo la expresión de la forma
    $\displaystyle \lim_{n \rightarrow \infty}\,\dfrac{2^{n+1}+3^{n+1}}{2^{n}+3^{n}}=\displaystyle \lim_{n \rightarrow \infty}\,\dfrac{2\cdot 2^{n}+3\cdot 3^{n}}{2^{n}+3^{n}}$

Observemos que al pasar al límite nos encontramos con una indeterminación del tipo $\infty / \infty$
Para resolverla dividiremos el numerador y el denominador por $3^{n}$. Con ello tendremos
    $\displaystyle \lim_{n \rightarrow \infty}\,\dfrac{2^{n+1}+3^{n+1}}{2^{n}+3^{n}}=\lim_{n \rightarrow \infty}\,\dfrac{2\,\big(\frac{2}{3}\big)^n+3}{\big(\frac{2}{3}\big)^n+1}$
Y, puesto que la base de las potencias es menor que $1$, volviendo a pasar al límite obtenemos el resultado:
$$\dfrac{2\cdot (2/3)^\infty+3}{(2/3)^{\infty}+1}\overset{2/3 \lt 1}{=}\dfrac{2\cdot 0+3}{0+1}=3$$
$\square$