Hi everyone,

I’m encountering an issue with the last line of my code and could use some 
help troubleshooting it. I suspect that the SymPy Stats module might be 
adding unknown attributes to a variable, which is causing the problem.

Any insights or suggestions would be greatly appreciated!

Thank you, 

Matthew Robinson


##### Start of Code #####

#This code derives the distribution of a Bray-Curtis Dissimilarity

 from sympy import * #Import the SymPy module

from sympy.stats import *

 

rate1 = Symbol("rate1", positive=True) #Define parameter lambda_1 as 
positive

rate2 = Symbol("rate2", positive=True) #Define parameter lambda_2 as 
positive

Y1 = Poisson("y1", rate1) #Make parameter lambda_1 Poisson Distribution 
function

Y2 = Poisson("y2", rate2) #Make parameter lambda_2 Poisson Distribution 
function

min_density_Y1 = 2*density(Y1)(rate1) - 2*density(Y1)(rate1)*cdf(Y1)(rate1)

min_density_Y2 = 2*density(Y2)(rate2) - 2*density(Y2)(rate2)*cdf(Y2)(rate2)

Bray_Curtis_Density = 1 - 2 * (min_density_Y1 + min_density_Y2) / (Y1 + Y2)

Bray_Curtis_Density #Print Results

#Export to SciPy for numerical evaluation

export_fcn = lambdify([rate1, rate2], Bray_Curtis_Density)

result = export_fcn(5, 10) #The distriubtion for the given rate parameters

print(result)

 

*## Why is the line below failing?? Why isn’t the variable ‘y1’ in the 
locals() ?? Please help*

*result(y1 = 6, y2 = 9)*


##### End of Code #####
On Tuesday, April 23, 2024 at 4:12:55 PM UTC-4 [email protected] wrote:

> Hi.
>
> I'm not sure if the things you mentioned are implemented or not, but
> if they are, they would be in the sympy.stats module. If they aren't
> there yet, it sounds like they would be appropriate for that
> submodule. sympy.stats implements the algebra of random variables you
> are talking about. Taking ratios of random variables is supported,
> although there may be different things that aren't yet implemented.
>
> Also note that some of these things are more general mathematical
> concepts applied to statistics (like asymptotic expansions), which may
> already be implemented in other parts of SymPy. For example, there is
> support for asymptotic expansions (aseries()), although I don't know
> if Sterling's approximation is implemented.
>
> Aaron Meurer
>
> On Tue, Apr 23, 2024 at 1:25 PM Matthew Robinson <[email protected]> 
> wrote:
> >
> > Dear SymPy Developers Group,
> >
> > I hope this email finds you well. I am currently exploring the use of 
> SymPy, a powerful symbolic mathematics library, to simplify equations 
> related to mathematical statistics. Specifically, I am interested in 
> developing a function that can handle statistical equations by recognizing 
> and substituting large sample size (asymptotic) approximations.
> >
> > Here are the key aspects I’d like to address:
> >
> > Approximations:
> >
> > Sterling’s Approximation: I aim to incorporate Sterling’s Approximation 
> for factorials, which becomes increasingly accurate for large values.
> > Binomial and Poisson Distributions: I want to approximate these discrete 
> distributions with the Normal Distribution when dealing with large sample 
> sizes.
> >
> > Algebra of Random Variables:
> >
> > Additionally, I would like to explore algebraic operations involving 
> random variables, particularly focusing on the ratio distribution.
> > Ratio distribution - Wikipedia
> >
> > In summary, my goal is to input formulas that involve distributions 
> (such as binomial and Poisson distributions) into SymPy. The library should 
> then simplify these formulas using well-known large sample size 
> approximations, including the normal distribution and Sterling’s 
> approximation. For example, if the ratio of a Poisson Distribution divided 
> by a Binomial Distribution is input, it should output a mathematically 
> simplified expression representing the large sample size approximations of 
> the Poisson distribution divided by the large sample size approximation for 
> the Binomial distribution.
> >
> > If there are existing methods or tools for achieving this, I would 
> greatly appreciate any guidance or pointers. Alternatively, if no such 
> methods currently exist, I am enthusiastic about contributing to the 
> development of this functionality.
> >
> > Thank you for your time, and I look forward to any insights or 
> suggestions you may have.
> >
> > Best regards,
> >
> > Matthew Robinson
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected].
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/dde90ce8-95b4-4565-9293-e8392c029110n%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/14ba2426-5259-488a-8440-2b50c67d2e12n%40googlegroups.com.

Reply via email to