Regresiones no lineales en Libreoffice

Muchos me dijeron que no se podía y que no había nada mejor que el Solver del Excel. Me puse manos a la obra y logré resolver una curva de selectividad sigmoide  utilizando solamente Libreoffice Calc.

La verdad que me pareció de lo mas sencillo y eficiente, y me parecía una mezquindad no compartir esto, así que les dejo un pequeño y sencillo tutorial.

Supongamos que tenemos los siguientes datos extraidos de un muestreo con sobrecopo para eficiencia de un determinado elemento de selectividad en redes de arrastre:

Talla (cm) Copo Sobrecopo Total Fracción Retenida SL Calculado
(Fracción Retenida Calculada)
Error^2
31 1 88 89 0,0112359551 1,16286056408873E-078 0,0001262467
32 2 128 130 0,0153846154 5,30778667818561E-070 0,0002366864
33 7 136 143 0,048951049 2,42269798212669E-061 0,0023962052
34 10 160 170 0,0588235294 1,10582166700926E-052 0,0034602076
35 9 114 123 0,0731707317 5,04743706499355E-044 0,005353956
36 21 95 116 0,1810344828 2,30386342437776E-035 0,0327734839
37 25 94 119 0,2100840336 1,05158055659529E-026 0,0441353012
38 22 87 109 0,2018348624 4,79985773161847E-018 0,0407373117
39 40 90 130 0,3076923077 2,19085775681281E-009 0,0946745549
40 34 85 119 0,2857142857 0,5 0,0459183673
41 42 59 101 0,4158415842 0,9999999978 0,3412410522
42 42 44 86 0,488372093 1 0,2617631152
43 37 22 59 0,6271186441 1 0,1390405056
44 48 13 61 0,7868852459 1 0,0454178984
45 65 12 77 0,8441558442 1 0,0242874009
46 51 8 59 0,8644067797 1 0,0183855214
47 72 0 72 1 1 0
48 64 4 68 0,9411764706 1 0,0034602076
49 53 4 57 0,9298245614 1 0,0049245922
50 86 0 86 1 1 0
51 80 2 82 0,9756097561 1 0,000594884
52 69 1 70 0,9857142857 1 0,0002040816
53 75 0 75 1 1 0
54 66 1 67 0,9850746269 1 0,0002227668

 

NOTA: Los valores de SL calculado, están calculados mediante la fórmula(1) y usando valores arbitrarios de c y L50

Y que el gráfico de todas estas muestras es similar al siguiente:

Dispersion

Y que necesitamos ajustar una curva sigmoide cuya fórmula(1) es:
SigmoideDonde L = Talla(cm), -c=Constante a calcular, L50=Cte a Calcular

Necesitamos calcular c y L50. Si c y L50 están ajustados lo lógico es que el error cuadrático se minimice. Entonces, en dos celas libres distintas, declaremos valores arbitrarios para c y L50 (digamos celdas J3 y J4 respectivamente) y en otra celda (J5) se coloca la suma de los errores cuadráticos (esto no es arbitrario y es la suma de la primer tabla). A mi se me ocurrió darle estos valores a C y L50, pero le pueden poner lo que quieran.

Variables C 20
L50 40
Error Total 1,1093543468

Como ven, el error cuadrático es bastante grande y nuestra idea es minimizarlo. Para ello, vamos a Herramientas/Solucionador. En la siguiente ventana ponemos como “Celda Objetivo” el error cuadrático $J$5, En “optimizar Resultados”, tildamos “minimizar” y en “Cambiando celdas” colocamos las variables a estimar, en este caso $J$3:$J$4. Le damos solucionar, esperamos un ratito y ya tenemos automágicamente  ¡La curva ajustada!

Curva Ajustada