Autor Tema: Proyección matemática

0 Usuarios y 1 Visitante están viendo este tema.

30 Abril, 2021, 10:42 pm
Respuesta #10

maicart

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 15
  • País: es
  • Karma: +0/-0
@Diego Andrés

Sé que estoy calculando algo mal, pero aún no entiendo el qué. Es decir, hay dos ejercicios de 5 palabras cada uno. En el primero el usuario acierta 4 de 5 palabras, es decir, logra un 80% de acierto. Las palabras valen todas un 20%, tanto en el PRIMER ejercicio, como en el SEGUNDO.

El problema es que si al empezar el segundo ejercicio voy añadiendo 20% a cada palabra, el usuario termina teniendo 180%.

No entiendo lo que mencionas de "equitativo" y que en el segundo ejercicio las palabras ya no cuentan 20%. ¿Me puedes dar un ejemplo con pasos y cómo vas añadiendo los porcentajes?

30 Abril, 2021, 10:46 pm
Respuesta #11

Diego Andrés

  • SMF Lover
  • Administrador
  • Mensajes: 275
  • País: mx
  • Karma: +0/-0
  • Sexo: Masculino
    • SMF Tricks
Entonces utiliza la otra opción, saca el promedio de las secciones.

180/2 = 90%.
Visita SMF Tricks - Free & Premium Responsive Themes para SMF.

01 Mayo, 2021, 03:29 am
Respuesta #12

C. Enrique B.

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 603
  • País: es
  • Karma: +0/-0
    • Mi página en WikiPedia.
-
Pulsar para abrir ...

Esto no debería ser tan complicado (qué atrevido soy, je, je, no estando yo experimentado en esto). Lo que puede ser complicado (a gusto del creador, o sea, de maicart) es el planteamiento (el montaje que desea realizar para evaluar cada pregunta). Para avanzar en la conversación se me ocurren estas cosas (si no casan con tus intenciones, maicart, o si ya has encontrado una solución con la ayuda de Diego Andrés, entonces no hace falta que me respondas):

- - Al parecer le indicas al usuario, inmediatamente, si ha fallado o ha acertado. ¿Qué pasa si, tras fallar una palabra, vuelve a fallar de nuevo, y luego vuelve a fallar en la misma palabra?

- - La aplicación de estos porcentajes (tan planos) al ámbito del lenguaje no parece propia (aunque eso ya es cosa tuya y depende de cómo estés desarrollando esta aplicación concreta, o sea, qué tipo de frases uses). En algún caso el porcentaje puede quedar muy bajo y sin embargo resultar que la frase está "casi" perfectamente confeccionada por parte del usuario.

- - Por lo demás lo mejor parece la propuesta simple de Diego Andrés. Sea como sea (uses el método que uses) obtienes el porcentaje de la primera frase, y luego lo promedias con los sucesivos porcentajes de sucesivas frases.

- - Por supuesto estoy teniendo en cuenta que "todo ese mareo numérico" que parecéis haber tenido, en vuestra discusión, es simplemente un error de observación por mi parte (torpe yo).

- - Finalmente, pensando en lo que comenté al principio, sobre lo posiblemente inadecuado (o difícil) de aplicar unos porcentajes tan simples a la evaluación lingüística, creo que lo mejor es no liarse con querer mostrar un porcentaje en pantalla, en TODO momento, sino SÓLO cuando se haya completado un ejercicio. Además eso facilita concretar una "forma de porcentaje" adecuada para CADA frase, y así, finalizada dicha evaluación (la de cada frase), simplemente promediamos con el porcentaje general, y lo mostramos al usuario.

Además, cuando el usuario lleve 2, 3, 4, muchas preguntas respondidas, ya no tiene interés actualizar el porcentaje a CADA instante, y lo normal es esperar a finalizar la frase en la que estemos.
[cerrar]
-- FALTAN LAS MUJERES en muchos ámbitos sociales. Yo no me siento perteneciente al bando masculino; soy del bando de las personas. Chicas, manifestáos; no concibo charlar sobre un tema si no estáis vosotras: es impropio, casi absurdo.

01 Mayo, 2021, 09:37 am
Respuesta #13

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,907
  • País: es
  • Karma: +0/-0
Hola

 El problema es que no tiene sentido hacer una acumulación de porcentaje basándose únicamente en un porcentaje anterior. Me explico.

 Supongamos que un usuario ha realizado 1000 preguntas prefectas. Tiene un 100%.
 Supongamos que otro usuario ha realizado 1 pregunta prefecta. Tiene un 100%.

 Supongamos que ambos usuarios fallan la siguiente pregunta. En el primer caso la \( 1001 \) en el segundo caso la pregunta número \( 2 \). ¿Tendría sentido que los dos pasasen a tener el mismo porcentaje de acierto?. Previamente a concretar el sistema, está claro que éste tiene que depender del número previo de preguntas a las que ha respondido.

 Entonces, ¿no sería mucho más sencillo simplemente llevar el recuento de preguntas realizadas/acertadas de cada jugador y de ahí calcular el porcentaje?.

 Si quieres que las pregunta valgan más si tienen varias opciones, es decir, que valga más acertar una pregunta con 5 opciones que otra sólo con dos 2 opciones, lo que puedes es sumar "opciones" en lugar de preguntas.

 Es decir para cada usuario tendrías dos variables, \( total \) y \( aciertos. \)

 Si acierta una pregunta de \( k \) opciones: \( total=total+k \) y \( aciertos=aciertos+k \). Si la falla \( total=total+k \) (no aumenta aciertos).

 Esta ponderación de las preguntas por número de opciones es una posibilidad; habría otras.

 Y en todo momento su porcentaje es \( 100\cdot aciertos/total \).

Saludos.

01 Mayo, 2021, 01:05 pm
Respuesta #14

maicart

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 15
  • País: es
  • Karma: +0/-0
Ok, muchas gracias a todos. Me queda todo más claro.

01 Mayo, 2021, 05:31 pm
Respuesta #15

C. Enrique B.

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 603
  • País: es
  • Karma: +0/-0
    • Mi página en WikiPedia.
-
El ejemplo inicial de Luis (en su último post) es obvio, y realmente no pensaba yo que nadie hubiese planteado ese error.

Evidentemente puede haber un porcentaje global, en cada momento (justo después de la resolución de una determinada pregunta), y se calcula de manera "ponderada" (creo que ése es el término correcto), teniendo en cuenta la cantidad de preguntas ya respondidas en días o horas anteriores.

En el caso que presenta Luis (al comienzo de su post) el porcentaje global del usuario que ha respondido 1.001 preguntas quedaría en 99'99, y el de que ha respondido 2 preguntas, quedaría en 50.

De todas formas (siempre estoy con lo mismo, je, je) me encantaría y vería apropiado que maicart reflexionase "en público" mientras va avanzando en su planteamiento, y así todos colaboraríamos para mejorar el diseño básico de esa aplicación que está creando. Aquí se une la dificultad matemática (voluntaria) y la lingüística (valoración adecuada de los aciertos de un usuario).
-
-- FALTAN LAS MUJERES en muchos ámbitos sociales. Yo no me siento perteneciente al bando masculino; soy del bando de las personas. Chicas, manifestáos; no concibo charlar sobre un tema si no estáis vosotras: es impropio, casi absurdo.

01 Mayo, 2021, 10:18 pm
Respuesta #16

maicart

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 15
  • País: es
  • Karma: +0/-0
@Enrique Muchísimas gracias. Creo que el término que estaba buscando es "media ponderada", o "weighted average" en inglés.  Parece ser que Google Sheets tiene una fórmula al respecto: "AVERAGE.WEIGHTED"(https://support.google.com/docs/answer/9084098?hl=en)

No sé si es así como proyectan algunos programas de televisión los posibles resultados finales de una elección en función del 10% del voto escrutado. En cualquier caso, como dice Enrique, voy a reflexionar en público por si os gustan los retos.

En función de las respuestas recibidas, he encontrado el siguiente sistema. Quizás no sea el más adecuado, pero creo que funciona bien. En mi aplicación tengo 4 tipos de ejercicios: Click (en el que el usuario/a tiene que pinchar las palabras para reconstruir una frase), Listen (en el que el usuario escucha una frase y tiene que pinchar en las palabras para reconstruirla), Type (en el que el usuario tiene que pinchar en los caracteres correspondientes para reconstruir la frase) y Speak (en el que el usuario tiene que pronunciar la frase en voz alta y después utilizar los botones para autoevaluarse). En los ejercicios de Type y Speak también hay "Pistas", por si el usuario necesita ayuda.

Podéis ver la Google Sheet que he creado aquí: https://docs.google.com/spreadsheets/d/1Lm-3ekOgufouZy1XfpOZ86BsYH3ddlpnGaZhdtIxpNU/edit?usp=sharing

Os he dado permiso de edición por si alguien quiere colaborar. Podéis modificar lo que queráis ahí, no me importa. También podéis haceros copia haciendo File > Make a copy y experimentar por vuestra cuenta.

He preparado un screencast para que se entienda mejor. Lo podéis encontrar aquí: https://drive.google.com/file/d/1kwyYYYeFzLdlb5es8Qt2jOhkirazosuF/view?usp=sharing

CLICK
Para calcular el nivel de acierto, calculo el porcentaje en función del número de palabras. Es decir, si un ejercicio tiene 5 palabras, cada palabra cuenta o descuenta 20%, ya que 100/5=20. Para que me cuadre tengo que tener en cuenta los resultados negativos. Es decir, si el usuario empieza con una equivocación, el resultado es -20.
LISTEN
Aquí se me planteaba el reto. Como el usuario acaba el ejercicio anterior con un nivel de precisión de 80%, hago lo siguiente:
80% (precisión anterior) + 100% (nuevo máximo) / 2 = 90% (el máximo al que el usuario puede aspirar)
Después calculo: 90% (nuevo máximo) - 80% (precisión anterior) = 10% / 4 palabras = 2.5
Es decir, cada acierto o fallo sumará o descontará 2,5 en este ejercicio.
TYPE
El usuario acabó el ejercicio anterior con una precisión del 88%, así que realizo lo siguiente:
88% (precisión anterior) + 100% (nuevo máximo) / 2 = 94%
94% (nuevo máximo) - 88 (precisión anterior) = 6% / 16 caracteres = 0,39
Es decir, cada acierto o fallo sumará o descontará 0,39 y cada pista la mitad.
En este ejercicio (así como en el ejercicio siguiente de SPEAK) también doy la opción de que el usuario use pistas, a las que doy un valor negativo de la mitad de un fallo. Esta penalización es arbitraria, ya que considero que el usuario no es tan preciso en su respuesta si la realiza con ayuda.
SPEAK
El usuario acabó el ejercicio anterior con una precisión del 93%, así que realizo lo siguiente:
93,16% (precisión anterior) + 100% (nuevo máximo) / 2 = 96,58%
96,58% (nuevo máximo) - 93% (precisión anterior) = 3,58% / 4 palabras = 0,89

Aquí tengo un nuevo reto. De momento aún no he incorporado Google Speech to Text, que podría calcular cuántas palabras dice el usuario/a correctamente. Así que lo que hago es que el usuario pronuncia la frase en voz alta, después escucha la frase correcta y él mismo decide si la frase que ha pronunciado se corresponde con la grabación.

El sistema calcula cuánto tiempo invierte el usuario en pronunciar la frase y cuánto tiempo dura la grabación original. Por ejemplo, si la grabación original dura 1,2 segundos y el usuario la pronuncia en 1,5 segundos, entonces el nivel de fluidez es de (1,2 / 1,5) * 100 = 80%

Es decir, en este tipo de ejercicio calculo la fluidez en lugar de la precisión de la siguiente manera: 93% (precisión anterior) + 80% (fluidez) / 2 = 86%

Si el usuario/a considera que ha acertado, entonces pincha en el icono verde y sigue con el siguiente ejercicio. Si el usuario/a considera que se ha equivocado, entonces pincha en el icono rojo y repite el ejercicio. En este último caso lo considero un fallo y le doy un valor arbitrario de 1 error, en este caso -1,70

Un saludo

01 Mayo, 2021, 10:57 pm
Respuesta #17

robinlambada

  • Moderador Global
  • Mensajes: 4,129
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Hola, la solución al problema que tiene planteado maicart, es fácil de resolver si se calcula la media de las respuestas acertadas entre las totales en porcentaje.

Me explico.
Es un error asignar un tanto por ciento de acierto o fallo a cada pregunta, pues este porcentaje depende del numero de preguntas que responde y del número que acierta.

Pero el porcentaje de aciertos en cada instante es muy fácil es el promedio multiplicado por cien.

\( Porcentaje\, de \,aciertos=\dfrac{ nº\, de \, preguntas\, acertadas(x)}{nº\, total \, de \, preguntas(N)}\cdot{}100 \)

"x" es el nº de preguntas acertadas hasta el momento y N el total formuladas hasta el momento.


Si todas las preguntas hasta el momento son acertadas x=N y \( P=\displaystyle\frac{x}{N}100=1\cdot{}100 \)

En cuanto falle una pregunta entonces ya siempre será \( x<N \), por mucho que luego acierte el porcentaje sera siempre menor de 100%, puesto que \( \displaystyle\frac{x}{N}<1 \)

Saludos.
Envejecer es como escalar una gran montaña: mientras se sube las fuerzas disminuyen, pero la mirada es más libre, la vista más amplia y serena.

La verdadera juventud una vez alcanzada, nunca se pierde.

01 Mayo, 2021, 11:47 pm
Respuesta #18

maicart

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 15
  • País: es
  • Karma: +0/-0
@robinlambada Muchas gracias. Hay que tener en cuenta que en la aplicación que estoy desarrollando el usuario puede recuperar la pregunta (más información, así como Google Sheet y Screencast en mi "Respuesta #16". Por ejemplo, el usuario está reconstruyendo una frase que consta de 5 palabras.

El usuario acierta una palabra: P=1/5*100 = +20%
El usuario acierta otra palabra: P=2/5*100 = +40%
El usuario falla una palabra: P= ?? ¿Qué fórmula debo poner aquí?

Pongamos por caso la siguiente secuencia:

Usuario acierta una palabra
Usuario acierta una palabra
Usuario falla una palabra
Usuario acierta una palabra
Usuario acierta una palabra
Usuario acierta una palabra

Total palabras acertadas: 5 Total fallos 1 Pero quiero que el usuario/a vea su progreso mientras hace el ejercicio, no solamente al final.

02 Mayo, 2021, 02:34 am
Respuesta #19

C. Enrique B.

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 603
  • País: es
  • Karma: +0/-0
    • Mi página en WikiPedia.
-
A) Creo que robinlambada ya ha respondido a eso último, ¿no? Si realmente quieres que el usuario vea, en TODO momento, un porcentaje en pantalla, entonces basta con que sumes los aciertos "hasta el momento" y lo dividas entre "los intentos totales" "hasta el momento". Esto además soluciona el caso de un usuario que falla una vez, otra vez, otra vez, otra vez ... hasta que termina acertando la frase poco a poco. En tal caso el porcentaje final "en cada momento" irá bajando ... y el porcentaje o índice final provendrá de algo así como: 5 aciertos (esto es fijo, si p.ej. la frase consta de 5 elementos o palabras) dividido entre 18 intentos.

B) Por otra parte, no logro entender para qué quieres esas "proyecciones". Diría que una proyección "simple" consistiría en calcular los valores absolutos de ciertas variables (núm. de votantes finales del Partido A, núm. de votantes finales del Partido B, etc.), basándose en el recuento de votantes de los partidos cuando hemos contabilizado sólo el 10 por ciento de las mesas. Y una proyección "compleja" incluiría muchos otros elementos que puedan afectar al resultado final ... pero en el caso de tu aplicación tienes, en todos los instantes, los datos necesarios para hacer la valoración que desees, sin necesidad de extrapolar o proyectar.

C) ¡Ah!, ya he comprendido lo de "Después calculo: 90% (nuevo máximo) - 80% (precisión anterior) = 10% / 4 palabras = 2.5" ... pero esto parece un error, ¿no?, ya que no sabes cuántos intentos va a necesitar el usuario (o sea, si va a fallar 1, 2, 3 ó tropecientas veces). Todo ello se sssigue resolviendo con lo dicho en el apartado A, es decir, la simple suma de los aciertos, en CADA instante (intento), y seguidamente dividirlo entre el núm. de intentos.

Perdón si me estoy confundiendo en algo.
-
-- FALTAN LAS MUJERES en muchos ámbitos sociales. Yo no me siento perteneciente al bando masculino; soy del bando de las personas. Chicas, manifestáos; no concibo charlar sobre un tema si no estáis vosotras: es impropio, casi absurdo.