Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gráfica para datos cualitativos #25

Open
Tracked by #94
TomasTubertSFC opened this issue Jun 13, 2024 · 15 comments · Fixed by #89, #118 or #123
Open
Tracked by #94

Gráfica para datos cualitativos #25

TomasTubertSFC opened this issue Jun 13, 2024 · 15 comments · Fixed by #89, #118 or #123
Assignees

Comments

@TomasTubertSFC
Copy link
Contributor

En este caso se deben tomar los registros que se hayan realizado por un usuario/a experto/a para calcular el nivel de agradabilidad y nivel de actividad (ISO 12913:2014). Las variables que se usan para hacer este cálculo depende de una de las respuestas que se le hace a este tipo de usuario/a en las preguntas de la encuesta. (Ver documento de cálculos). Los valores del nivel de agradabilidad y nivel de actividad oscilan entre - 1 a +1.

Estas variables se representan en un plano cartesiano donde el nivel de agradabilidad es la abscisa y el nivel de actividad es la ordenada. Además, se define un contorno de percentil 50, es decidir se marca una parte sombreada contiene el 50% de las respuestas.

@almenarasfc
Copy link
Contributor

@OtariOboladzeSfC
@CarlosMillanSfC

"Los valores del nivel de agradabilidad y nivel de actividad oscilan entre - 1 a +1." ¿estos valores se envían a front? no encuentro nada parecido en el endpoint del que disponemos.

@almenarasfc
Copy link
Contributor

almenarasfc commented Jul 1, 2024

@JohanaSfC , cuando puedas me dices si está bien (los datos son mockups):

Image

@JohanaSfC
Copy link

Hola, @almenarasfc lá gráfica esta bien.
Sobre los valores no vienen directamente desde la base de datos, deben hacerse un cálculo antes. Estoy agregando eso en el documento base para que @OtariOboladzeSfC @CarlosMillanSfC puedan implementarlo.

@almenarasfc almenarasfc linked a pull request Jul 1, 2024 that will close this issue
@almenarasfc
Copy link
Contributor

almenarasfc commented Jul 3, 2024

@OtariOboladzeSfC
@CarlosMillanSfC
este tema como lo tenemos?

Por ahora no disponemos de datos reales para " Gráfica para datos cualitativos #25 "

Parece ser que se trata de una parte de la App/Back que todavía se encuentra en desarrollo, por lo que doy por cerrada esa issue hasta tener más info o terminar el desarrollo en la App.

@almenarasfc
Copy link
Contributor

almenarasfc commented Jul 5, 2024

Variable Escala Likert Valor numérico
Agradable (p) pleasant Totalmente en desacuerdo 1
Caótico (ch) chaotic En desacuerdo 2
Estimulante (v) vibrant Ni de acuerdo, ni en desacuerdo 3
Sin actividad (u) uneventful De acuerdo 4
Calmado (ca) calm Totalmente de acuerdo 5
Desagradable (a) annoying
Con actividad (e) eventfull
Monótono (m) monotonous

Cálculo de valores 1/-1
Nivel de agradabilidad = (p-a) +(cos 45°*(ca-ch))+(cos (45°)(v-m))
Nivel de actividad= (e-u) +(cos 45°
(ch-ca)+(cos (45°)*(v-m))

@CarlosMillanSfC
Copy link
Contributor

Los valores como se guardan actualmente es en catalán, pongo los equivalentes:
'Molt d'acord' => 5,
'D’acord' => 4,
'Nid'acord / no en des acord' => 3,
'Desacord' => 2
'Molt en desacord' => 1

@CarlosMillanSfC
Copy link
Contributor

hay una última pregunta para los usuarios expertos que da las opciones:
en absolut, lleugerament, moderadament, molt, perfectament y cuando lo envía lo manda con el name "environment" pero en base de datos ni ningún lado veo referencia a ese campo, sabes qué significa @OtariOboladzeSfC ?

@CarlosMillanSfC
Copy link
Contributor

y cuando un usuario sube observaciones y después se convierte en usuario experto? Eso provocaría que existan observaciones sin datos del formulario de usuario experto pero pertenecientes a un usuario experto... Pero puede que tenga sentido porque cuando hizo esas observaciones aún no era "experto". Dejo el comentario para leerlo y darle vueltas el Lunes @CarlosMillanSfC

@CarlosMillanSfC
Copy link
Contributor

Se tarda 6 segundos en analizar el audio.

@CarlosMillanSfC
Copy link
Contributor

CarlosMillanSfC commented Jul 5, 2024

ya se recogen los datos pero como solo hay 2 usuarios expertos bueno, no hay mucho de lo que tirar pero puedo poner registros en la base de datos para probar cosas, estilo usuarios expertos falsos con observaciones variadas y tal.

Hay un problema con el campo eventful que en la base de datos está como: eventfull y qualud manda eventful:
https://github.com/ScienceForChange/SoundCollect_backend/blob/cc4586073fa0b60460511150a1544ae8eb730c6e/api/database/migrations/2024_05_16_125800_add_expert_user_questions_to_observations.php#L21

creo que la forma correcta es eventful pero ya lo cambiaré el lunes. De momento se guardan las respuestas con el texto en catalán que menciono arriba pero al devolver los datos los transformo a esos números (que eventualmente será como se guarden) y las observaciones que no tienen esos datos per se devuelven "N/A" como con otros campos, que puedo cambiarlo por lo que haga falta.
Dejo el ejemplo de ya guardado:

  "type": "observation",
  "id": "9c734781-968f-47d7-b649-9cf0b90f7bcf",
  "attributes": {
    "Leq": "36.61",
    "LAeqT": "34.73,37.61,35.28,38.59,36.31,35.88",
    "LAmax": "38.59",
    "LAmin": "34.73",
    "L90": "34.73",
    "L10": "38.59",
    "sharpness_S": "N/A",
    "loudness_N": "N/A",
    "roughtness_R": "N/A",
    "fluctuation_strength_F": "N/A",
    "images": null,
    "latitude": "41.37771",
    "longitude": "2.15153",
    "quiet": "Gens tranquil",
    "cleanliness": "Dolent",
    "accessibility": "Regular",
    "safety": "Bona",
    "influence": "Test",
    "landmark": "question_removed",
    "protection": "Test",
    "wind_speed": "5.66",
    "humidity": 54,
    "temperature": "28.49",
    "pressure": 1013,

    "pleasant": 5,
    "chaotic": 4,
    "vibrant": 3,
    "uneventful": 2,
    "calm": 1,
    "annoying": 5,
    "eventfull": "N/A",
    "monotonous": 3,

    "overall": null,

    "user_id": "9bd685aa-62f6-461a-8b39-8ddacc6e6fbe",
    "created_at": "2024-07-05 14:22:28",
    "updated_at": "2024-07-05 14:22:28",
    "path": "[{\"lat\":41.3777131,\"lng\":2.1515311}]"
  },

El overall no me entero bien del todo para qué sirve porque el usuario expero no lo envía, a lo sumo envia "environment" que quizá ahí está la mezcla.

This was linked to pull requests Jul 8, 2024
@almenarasfc almenarasfc reopened this Jul 8, 2024
@almenarasfc
Copy link
Contributor

Los datos que se muestran ya vienen desde la App, pasando por Back. Por ahora solo contamos con un registro hecho por nosotros. Todavía no se han hecho observaciones suficientes para asegurar que funcione bien, pero si se ha comprobado con mockups.

@JohanaSfC
Copy link

Me pueden confirmar que está pasando. Es decir, aquí se dice que no hay datos de personas usuarios expertos para crear esta gráfica, pero ahora mismo veo el dashboard y al aplicar el filtro, veo varios registros filtrados como informadores expertos.

image

¿Dónde está el error? @CarlosMillanSfC @almenarasfc @TomasTubertSFC @OtariOboladzeSfC

@TomasTubertSFC
Copy link
Contributor Author

TomasTubertSFC commented Jul 9, 2024

image
Al comprobar el endpoint https://soundcollectapp.com/api/observations?with-levels=true hemos visto que el calculo de usuario experto no acaba de funcionar. @CarlosMillanSfC
Usuario: 9be0d009-a631-44e1-a74f-4dc78fd3bc4f

@CarlosMillanSfC
Copy link
Contributor

CarlosMillanSfC commented Jul 9, 2024

Hola @JohanaSfC , aquí una cosa que pasa es como digo aquí:

y cuando un usuario sube observaciones y después se convierte en usuario experto? Eso provocaría que existan observaciones sin datos del formulario de usuario experto pero pertenecientes a un usuario experto... Pero puede que tenga sentido porque cuando hizo esas observaciones aún no era "experto". Dejo el comentario para leerlo y darle vueltas el Lunes @CarlosMillanSfC

Lo que creo que te refieres @JohanaSfC es que por ese imagen del mapa que filtra observaciones por usuarios expertos hay 116 observaciones pertenecientes a usuarios que son expertos pero de esas 116 observaciones solo 1 está rellenada la encuesta de usuario experto (rellanada por mi de prueba agregaría) información que se utiliza para pintar la gráfica de datos cualitativos.

select o.id, o.user_id, u.id, u.is_expert from observations o join users u on (u.id = o.user_id) where u.is_expert = 1\G
116 rows 
select o.id, o.user_id, o.pleasant, u.id, u.is_expert from observations o join users u on (u.id = o.user_id) where u.is_expert = 1 AND o.pleasant is not null\G
1 row

Había un error en cuanto a la actualización de convertir a expertos usuarios con 21 o más puntos pero ya está corregido y ahora hay 9 usuarios expertos pero como te digo solo 1 ha subido una observación rellenando el formulario de usuarios experto...

select * from users where is_expert = 1\G
9 rows

Cualquier cosa me comentas.

@CarlosMillanSfC
Copy link
Contributor

[CORRECCIÓN]

@TomasTubertSFC te acuerdas que veíamos que tú tenías 75 (ahora 77) observaciones pertenecientes a usuarios expertos pero a mi en la bbdd me salían 116?, como pongo en la primera query.

Pues he caído ahora, hablando con Alberto, que es por lo que mencionamos esta mañana, que tú estás filtrando por el Leq entre 20 y 80 (fue difícil ver eso porque con un cambio que hice se reducían a un número parecido pero nada que ver, solo coincidencia), ahora si hago la query:

select o.id, o.user_id, u.id, u.is_expert from observations o join users u on (u.id = o.user_id) where u.is_expert = 1 and o.Leq between 20 AND 80\G
77 rows in set, 6 warnings (0.01 sec)

Así que todo bien, los números eran correctos siempre solo que en la comprobación había esa incoherencia.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment