wolfram mathematica - online - Haciendo cálculos probabilísticos en un nivel de abstracción más alto
wolfram mathematica descargar (2)
Para los participantes: esta no es una pregunta sobre matemáticas, es una pregunta sobre el lenguaje de programación Mathematica .
Una de las características principales de Mathematica es que puede manejar muchas cosas simbólicamente. Pero si lo piensas bien, muchas de las características simbólicas son en realidad solo simbólicas a medias.
Tomemos los vectores por ejemplo. Podemos tener un vector simbólico como {x, y, z}, hacer una multiplicación matricial con una matriz llena de símbolos y terminar con un resultado simbólico, por lo que podríamos considerar ese álgebra de vectores simbólicos. Pero todos sabemos que, desde el principio, Mathematica no le permite decir que un símbolo x es un vector y que, dada una matriz A , A. x es un vector también. Ese es un nivel más alto de abstracción, uno con el que Mathematica (actualmente) no trata muy bien.
De manera similar, Mathematica sabe cómo encontrar la quinta derivada de una función que se define en términos de nada más que símbolos, pero no está bien orientada hacia la búsqueda de la r r derivada (consulte " Cómo encontrar la rth derivada de una función cuando r es simbólica en Mathematica "pregunta).
Además, Mathematica tiene amplias capacidades de álgebra booleana , algunas de edad de piedra, pero muchas recientemente obtenidas en la versión 7. En la versión 8 tenemos Probability y amigos (como Conditioned ) que nos permite razonar con probabilidades de variables aleatorias con distribuciones dadas. Es un complemento realmente magnífico que me ayuda mucho a familiarizarme con este dominio, y disfruto enormemente trabajando con él. Sin embargo,...
Estaba discutiendo con un colega ciertas reglas de lógica probabilística como la familiar
es decir, la probabilidad condicional de evento / estado / resultado C dado evento / estado / resultado A es verdadera.
Específicamente, estábamos viendo este:
y aunque había hablado mucho sobre la Probability
de Mathematica justo antes de darme cuenta de que no sabría cómo resolver esto de inmediato con Mathematica. Nuevamente, al igual que con los vectores y matrices abstractos y los derivados simbólicos, este parece ser un nivel de abstracción demasiado alto. ¿O es eso? Mi pregunta es:
¿Podría encontrar una manera de encontrar la verdad o la falsedad en las ecuaciones anteriores y similares utilizando un programa de Mathematica?
Solo eché un vistazo a esto y encontré un ejemplo de la documentación sobre Condition
:
In[1]:= c = x^2 < 30; a = x > 1;
( Perdón por el formato aquí ... )
In[2]:= Probability[c /[Conditioned] a, x /[Distributed] PoissonDistribution[2]] ==
Probability[c && a, x /[Distributed] PoissonDistribution[2]] / Probability[a, x /[Distributed] PoissonDistribution[2]]
Lo que se evalúa como True
y corresponde a una versión menos general del primer ejemplo que dio.
Volveré a visitar esto más tarde esta noche si tengo tiempo.
>> Mathematica no te permite decir que un símbolo x es un vector
Claro que sí ... lo suficientemente cerca de todos modos ... que es una colección de reales. Se llama suposiciones o condicionamiento, dependiendo de lo que quieras hacer.
Refine[Sqrt[x]*Sqrt[y]]
Lo anterior no se refina porque asume que X e Y pueden ser cualquier símbolo, pero si reduce su alcance, obtiene resultados:
Assuming[ x > 0 && y > 0, Refine[Sqrt[x]*Sqrt[y]]]
Sería muy bueno tener la capacidad de decir: Element[x,Reals^2]
(vector real bidimensional), tal vez en Mathematica 9. :-)
En cuanto a este problema:
>> ¿Podría encontrar una manera de encontrar la verdad o la falsedad en las ecuaciones anteriores y similares utilizando un programa de Mathematica?
Consulte mi respuesta (la primera) sobre esta pregunta para ver un enfoque simbólico del teorema de Bayes: https://.com/questions/8378336/how-do-you-work-out-conditional-probabilities-in-mathematica-is-it-possible