Linear regression RPN calculator

  

Esta aplicación es una calculadora científica a la que he añadido funciones para el tratamiento de series de datos. Con ella puedes obtener, además de las típicas variables estadísticas, la recta que más se ajusta a los datos, calculada mediante el método de regresión lineal. También puedes ver los valores representados en una gráfica junto con la recta que mejor se ajusta. 

Utiliza notación inversa polaca (RPN), eso hace que no se maneje igual que el resto de las calculadoras.

El diseño y el funcionamiento están inspirados en la HP41. Este es mi homenaje a la mejor calculadora que ha habido.

 

La calculadora

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Display

En la parte superior se muestran los valores del stack Y, Z y T, en la parte central el nivel X.

Botonera 

  • El primer botón permite conmutar el sistema que se usa para tratar ángulos en las funciones trigonométricas: rad para radianes (2*π), deg para grados sexagesimales (un círculo tiene 360) y grad para grados centesimales (un círculo tiene 400)
  • stat: esta tecla abre el menú de las funciones estadísticas. En él se puede borrar, mostrar cálculos, guardar, cargar, mostrar los valores y ver la serie en una gráfica. 
  • mem: muestra una lista con los valores actuales de los registros de memoria.
  • + -: permite cambiar el número de decimales que se muestran en pantalla.

Funciones 

En este bloque hay 10 teclas que cambian su función asociada al pulsar la tecla shift.

Teclas del stack

  • shift : cambia la función de las teclas de función.
  • sto : almacena el valor que hay en el stack X en un registro de memoria. 
  • rcl : recupera el valor de un registro de memoria y lo deja en el satck X.
  • Enter↑ : sube el stack pasando el nivel X al Y, el Y al Z y el Z al T.
  • x<>y : intercambia los valores de los niveles X e Y del stack.
  • r↓ : baja el stack pasando el nivel T al Z, el Z al Y y el Y al X.
  • eex : para introducir el exponente de un número.
  •  ⬅︎ : borra el último dígito 

 

Series estadísticas: introducción de datos

Se pueden manejar 2 tipos de series, las series simples que sólo tienen una variable "just X values" y las series relacionadas que corresponden a 2 variables relacionadas "X and Y values".

La primera está compuesta por una colección de valores, la segunda por una colección de pares (x, y) de valores.

Para el primer tipo de series se calcula la media, la desviación y el error estándar.  Para las series de tipo XY, además de estos cálculos se hacen los correspondientes a la regresión lineal: coeficiente de correlación, pendiente (m) y ordenada (h) de la recta.

Introducir valores

Se introducen los valores estadísticos con la teclas de función:
  •  ∑x   - añade un valor X a la serie activa
  •  ∑y   - añade un valor Y a la serie activa

Al pulsar una de estas teclas, si no hay una serie activa sale un mensaje pidiendo que se elija uno de los dos tipos de series: serie sólo X o serie XY.

Las series XY se componen de pares de valores. Para introducir un par de valores es necesario informar el valor de X y el valor Y. No importa el orden en que se haga, el par se guarda cuando se completa, esto es, cuando se informen ambos valores.  Si se repite un valor, por ejemplo, se introduce dos veces el valor X, el que cuenta es el último.

Para introducir el valor X se teclea el valor y pulsa la tecla ∑x. Para introducir el valor Y se teclea el valor y pulsa la tecla ∑y.

Cuando el par esta completo se muestra en el display el mensaje "stored n" siendo el n el número de pares que componen  la serie.

Las series sólo X se componen de valores simples. Para introducir los valores se pulsa la tecla ∑x lo que hace que el valor que hay en display se incluya en la serie y se muestre en el display el mensaje "stored n" siendo el n el número de valores que componen  la serie.

 

Tratamiento de las series estadísticas

Al menú estadístico se accede pulsando la tecla stat situada en la botonera. Este menú presenta las siguientes funciones:

·         delete series - borra la serie activa.

·         show stats - muestra una lista con las variables estadísticas correspondientes a la serie activa.

·         save series - guarda la serie activa.

·         load series - carga una serie que haya sido guardada previamente. 

·         show graph - Disponible sólo para series de tipo XY. muestra una gráfica con los puntos de de la serie y la recta que mejor se ajusta a ellos. 

delete series

Borra la serie activa.

Si no ha sido guardada previamente los datos se pierden.

show stats

Se muestran los valores estadísticos calculados

Para las series de tipo sólo X se muestra: el número de datos, el valor medio, la desviación estándar, el error estándar, el valor máximo y el valor mínimo. Para las series de tipo XY se muestra lo mismo que en las series de tipo sólo X, tanto para los valores X como para los valores Y, además se muestran las variables correspondientes al cálculo de regresión lineal: coeficiente de regresión, pendiente de la recta (m) y ordenada (h).

Al seleccionar una de las variables, se vuelve a la pantalla principal y en el display aparece el valor seleccionado.

save series

Guarda la serie activa en memoria. La serie se mantendrá aunque cierre la app o apague el dispositivo.

load series

Se muestra una lista con todas las series guardadas previamente. En la lista se indica el tipo de serie que es, el número de elementos que la componen y la fecha y hora en que se guardó.

Al seleccionar un registro se vuelve a la pantalla principal y la serie seleccionada se convierte en la serie activa. Si previamente había una serie activa, esta se pierde.

Se puede eliminar una serie guardada desplazando el dedo de derecha a izquierda sobre el registro que se quiere borrar y confirmando.

 

Show data

Se muestra una lista con los datos que componen la serie. 

Al seleccionar un registro, se vuelve a la pantalla principal y en el display aparece el valor seleccionado. Si se trata de una serie de tipo XY el valor X se carga en el stack X y el valor Y en el stack Y.

Se puede eliminar un dato de la serie desplazando el dedo de derecha a izquierda sobre el registro que se quiere borrar y confirmando.

En la parte superior está el botón mail, al pulsarlo se crea un correo electrónico con un fichero adjunto con los datos de la serie. Este fichero puede ser en formato HTML o CSV (valores separados por comas) para su incorporación a una hoja de cálculo (El formato se puede seleccionar en el menú de ajustes del dispositivo).

 

show graph

Con esta opción se representan los datos sobre una gráfica. Sólo es válida para series de tipo XY.

En esta opción los datos de la serie activa se muestran representados en una gráfica que podemos ir desplazando con el dedo a lo largo de los valores X. El par de datos más próximo a la línea del fiel (línea vertical roja) se marca con un punto azul y los valores correspondientes se pueden ver en la ventana inferior.  Al desplazar la gráfica la medida activa irá saltando de punto en punto.

En la parte inferior del eje Y se indica el factor de multiplicación de la escala Y.

Se muestra una línea de tendencia calculada mediante un algoritmo de regresión lineal. La línea de tendencia se pueden quitar y poner tocando el botón tendence ON/tendence OFF

La fórmula de la recta de tendencia se muestra en color morado en la parte superior de la gráfica.

Opcionalmente se pueden incluir en la gráfica los valores correspondientes a cada punto. Esto se hace  en el menú de ajustes del dispositivo.