Conditional CategoricalDistributions?
Conditional CategoricalDistributions?
Seth J. Chandler
Here' s a categorical distribution of 3 variables.
In[]:=
cd=CategoricalDistribution[{{"A","B","C"},{"α","β"},{"☺","☹"}},{{{6,84},{8,48}},{{63,91},{88,78}},{{34,72},{74,55}}}]
Out[]=
CategoricalDistribution
Suppose what I want now, however, is a conditional probability distribution represented -- and this is crucial -- as a CategoricalDistribution, in which I look only at Group A. How do I do this?
Here' s some ugly code that accomplishes my goal.
In[]:=
conditionalDistribution[cd_CategoricalDistribution,outerlevel_]:=CategoricalDistribution[Rest@Information[cd,"Categories"],Normal@Query[outerlevel,Values,Values][Information[cd,"ProbabilityTable"]]]
In[]:=
condcd=conditionalDistribution[cd,"A"]
Out[]=
CategoricalDistribution
In[]:=
Information[condcd,"ProbabilityTable"]
Out[]=
But, surely, I say, there is a better (and more general) way?
