This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/).
The version of R used to make this document is 4.3.2.
The version of the rmarkdown
package used to make this document is
2.25.
The version of the glmbb
package used to make this document is
0.5.1.
The version of the CatDataAnalysis
package used to make this document is
0.1.5.
The version of the network
package used to make this document is
1.18.1.
The version of the utils
package used to make this document is
4.3.2.
library(glmbb)
library(CatDataAnalysis)
library(network)
##
## 'network' 1.18.1 (2023-01-24), part of the Statnet Project
## * 'news(package="network")' for changes since last version
## * 'citation("network")' for citation information
## * 'https://statnet.org' for help, support, and other information
library(utils)
Graphical models come in many kinds. There are graphical models where all the variables are categorical (Lauritzen (1996); Chapter 4). There are graphical models where the variables are jointly multivariate normal (Lauritzen (1996); Chapter 5). There are graphical models where some of the variables are categorical and the rest are conditionally jointly multivariate normal given the categorical ones (Lauritzen (1996); Chapter 6).
Since this is a course in categorical data, we will only be interested in graphical models having only categorical variables.
An undirected graph consists of a set whose elements are called nodes and a set whose elements are called edges and which are unordered pairs of nodes. We write \(G = (N, E)\) where \(G\) is the graph, \(N\) is the node set, and \(E\) is the edge set.
Figure 4.1 is an example. The nodes are \(U\), \(V\), \(W\), \(X\), and \(Z\) and the edges are the line segments.
A graph is called simple if it has no repeats of its edges, which our insistence that the edges are a set (which cannot have repeats) rather than a multiset (which can) already rules out, and if it has no loops (edges of the form \((n, n)\)). We are only interested in simple graphs. The graph in Figure 4.1 is simple.
A graph \((N_1, E_1)\) is a subgraph of \((N_2, E_2)\) if \(N_1 \subset N_2\) and \(E_1 \subset E_2\), where \(\subset\) means subset (we do not use \(\subseteq\) to mean subset, so \(A \subset B\) includes the case \(A = B\)).
A graph is complete if every pair of nodes is connected by an edge (Lauritzen (1996); Section 2.1.1).
A clique in a graph is the node set of a maximal complete subgraph, one that is not a subgraph of another complete subgraph (Lauritzen (1996); Section 2.1.1). The cliques in Figure 4.1 are \(\{U\}\), \(\{V, W\}\), and \(\{W, X, Z\}\).
A path in an undirected graph is a sequence of edges \((n_i, n_{i + 1})\), \(i = 1\), \(\ldots,\) \(k\). For example, is a path in the graph in Figure 4.1. We can say that this path goes from \(V\) to \(Z\) or from \(Z\) to \(V\). Since the edges are undirected, there is no implied direction.
If \(A\), \(B\), and \(C\) are sets of nodes of a graph, then we say that \(C\) separates \(A\) and \(B\) if every path from a node in \(A\) to a node in \(B\) goes through \(C\) (has an edge, one of whose nodes is in \(C\)). In the graph in Figure 4.1, the node set \(\{W\}\) separates the node sets \(\{U, V\}\) and \(\{X, Z\}\).
A log-linear model for a contingency table is any model having one of the “sampling schemes” (Poisson, multinomial, product multinomial) described in the Chapter 1 notes and in much more detail in the notes on sampling schemes.
Such a model is hierarchical if for every interaction term in the model all main effects and lower-order interactions involving variables in that term are also in the model.
The interaction graph for a hierarchical model is an undirected graph that has nodes that are the variables in the model and an edge for every pair of variables that appear in the same interaction term (Lauritzen (1996); Section 4.3.3).
A hierarchical model is graphical if its terms correspond to the cliques of its interaction graph (Lauritzen (1996); Section 4.3.3). Repeating what we said in the preceding section, the cliques the graph in Figure 4.1 are \(\{U\}\), \(\{V, W\}\), and \(\{W, X, Z\}\). So the graphical model having this graph has formula \[\begin{equation*} \sim U + V * W + W * X * Z. \end{equation*}\] Not every hierarchical model is graphical. For example, the hierarchical model with formula \[\begin{equation*} \sim U + V * W + W * X + X * Z + Z * W \end{equation*}\] has the same interaction graph. But it is not graphical because it does not have the term \(W * X * Z\).
A Markov property for a graph having random variables for nodes tells us something about conditional independence or factorization into marginals and conditionals. The relevant Markov property for log-linear models is the following, which is stated in Section 4.3.3 in Lauritzen (1996) and said to follow from Theorems 3.7 and 3.9 in Lauritzen (1996).
Theorem 5.1 If \(C\) separates \(A\) and \(B\) in the interaction graph, then the variables in \(A\) are conditionally independent of those in \(B\) given those in \(C\).
The conclusion of the theorem is often written \[ A \perp\!\!\!\perp B \mid C. \] It means, of course, that the conditional distribution factorizes \[ f(y_{A \cup B} \mid y_C) = f(y_A \mid y_C) f(y_B \mid y_C) \] where we have the usual abuse of notation that the three \(f\)’s denote three different functions, the conditional PMF’s of the indicated sets of variables, and where we are now using the notation \(y_S\) for subvectors of the response vector \(y\) of the probability model (described in the section on subvectors in the notes on sampling).
Repeating what we said in the preceding section, in the graph in Figure 4.1, \(\{W\}\) separates \(\{U, V\}\) and \(\{X, Z\}\). So if Figure 4.1 is the interaction graph of a graphical model, we have \[ U, V \perp\!\!\!\perp X, Z \mid W. \]
Perhaps not quite so obvious, in the same graph the empty set separates \(U\) from all the other nodes. Since there are no paths from \(U\) to any other node. Every path from \(U\) to another node (there are none of them) goes through the empty set. Thus we can also say \[ U \perp\!\!\!\perp V, W, X, Z \mid \varnothing. \] But, since conditioning on an empty set of variables is the same as not conditioning. We can also say \[ U \perp\!\!\!\perp V, W, X, Z \] meaning \(U\) is (unconditionally) independent of the rest of the variables.
glmbb
R package glmbb
has some functions for dealing with graphical models.
R function isGraphical
says whether a formula is for a graphical model.
isGraphical(~ U + V * W + W * X * Z)
## [1] TRUE
isGraphical(~ U + V * W + W * X + X * Z + Z * W)
## [1] FALSE
isHierarchical(~ U + V * W + W * X + X * Z + Z * W)
## [1] TRUE
These opinions of the computer agree with our analysis above.
There is also an option graphical = TRUE
to R function glmbb
to tell
it to only consider graphical models.
data(exercise_6.28)
sapply(exercise_6.28, class)
## Occupational_aspirations Socioeconomic_status IQ Residence Gender counts
## "factor" "factor" "factor" "factor" "factor" "numeric"
lapply(exercise_6.28, levels)
## $Occupational_aspirations
## [1] "High" "Low"
##
## $Socioeconomic_status
## [1] "High" "Low"
##
## $IQ
## [1] "High" "Low"
##
## $Residence
## [1] "Large urban" "Rural" "Small urban"
##
## $Gender
## [1] "Female" "Male"
##
## $counts
## NULL
# all hierarchical models
gout <- glmbb(counts ~ (Occupational_aspirations + Socioeconomic_status +
IQ + Residence + Gender)^5, data = exercise_6.28)
summary(gout)
##
## Results of search for hierarchical models with lowest AIC.
## Search was for all models with AIC no larger than min(AIC) + 10
## These are shown below.
##
## criterion weight formula
## 356.1 0.0831068 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 356.8 0.0602980 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 357.0 0.0536192 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender
## 358.0 0.0323319 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 358.1 0.0313371 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 358.5 0.0249027 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender
## 358.7 0.0231871 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 358.7 0.0230836 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 358.7 0.0224651 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 358.9 0.0202700 counts ~ Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender
## 359.1 0.0187457 counts ~ Occupational_aspirations*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 359.5 0.0153778 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 359.7 0.0136073 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 359.9 0.0126745 counts ~ Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 359.9 0.0125381 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 359.9 0.0125226 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 360.0 0.0122413 counts ~ IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 360.1 0.0111573 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 360.4 0.0099215 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 360.4 0.0097442 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 360.4 0.0095619 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 360.5 0.0095029 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender
## 360.5 0.0094327 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 360.5 0.0090970 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 360.6 0.0090476 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 360.6 0.0089172 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender
## 360.7 0.0084677 counts ~ Occupational_aspirations*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 360.8 0.0081829 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 360.8 0.0080894 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 360.9 0.0076303 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 361.0 0.0073118 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 361.0 0.0071361 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 361.3 0.0063734 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 361.3 0.0063189 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 361.3 0.0062078 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 361.4 0.0059826 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 361.4 0.0057985 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 361.5 0.0055555 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 361.5 0.0055362 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 361.7 0.0051214 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 361.7 0.0051202 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 361.8 0.0049367 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 361.8 0.0049230 counts ~ Socioeconomic_status*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 361.8 0.0048778 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 361.9 0.0047338 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 361.9 0.0046242 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 361.9 0.0046220 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 361.9 0.0046079 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 362.0 0.0044755 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 362.0 0.0044448 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 362.1 0.0042905 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 362.1 0.0042713 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 362.1 0.0041569 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 362.1 0.0041120 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 362.3 0.0038131 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 362.3 0.0037570 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.3 0.0037529 counts ~ Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 362.3 0.0037368 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 362.4 0.0036142 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 362.4 0.0035616 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 362.4 0.0035294 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 362.5 0.0034982 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.5 0.0034826 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.5 0.0034770 counts ~ Occupational_aspirations*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 362.5 0.0034442 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence*Gender
## 362.5 0.0034282 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 362.5 0.0034229 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 362.5 0.0033892 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.5 0.0033535 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 362.7 0.0030671 counts ~ Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.7 0.0030389 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + IQ*Residence*Gender
## 362.8 0.0029820 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*Residence*Gender
## 362.8 0.0029685 counts ~ IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 362.8 0.0028873 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 362.9 0.0028482 counts ~ Occupational_aspirations*IQ + IQ*Residence + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 362.9 0.0028304 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + Occupational_aspirations*IQ*Residence*Gender
## 362.9 0.0027478 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 363.0 0.0027325 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 363.1 0.0025798 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 363.1 0.0025296 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 363.1 0.0025179 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 363.1 0.0024795 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.2 0.0024489 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.2 0.0024387 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 363.2 0.0024117 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 363.2 0.0023744 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ*Gender
## 363.3 0.0023455 counts ~ Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 363.3 0.0023235 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 363.3 0.0022864 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 363.3 0.0022768 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 363.3 0.0022651 counts ~ IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 363.3 0.0022476 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 363.5 0.0021289 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.5 0.0021194 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.5 0.0021085 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 363.5 0.0020626 counts ~ Occupational_aspirations*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 363.5 0.0020529 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 363.6 0.0020040 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 363.7 0.0019127 counts ~ Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 363.7 0.0019098 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 363.7 0.0018554 counts ~ Socioeconomic_status*IQ + IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 363.7 0.0018494 counts ~ IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 363.7 0.0018419 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ*Gender
## 363.7 0.0018389 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ*Gender
## 363.8 0.0018187 counts ~ Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 363.8 0.0018030 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 363.8 0.0017981 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 363.8 0.0017782 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.8 0.0017703 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 363.8 0.0017693 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 363.8 0.0017597 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 363.8 0.0017516 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 363.8 0.0017475 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 363.9 0.0017228 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 363.9 0.0017079 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 363.9 0.0016937 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 363.9 0.0016847 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + IQ*Residence*Gender
## 363.9 0.0016829 counts ~ Occupational_aspirations*IQ + IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender
## 363.9 0.0016741 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 364.0 0.0016547 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 364.0 0.0016500 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 364.0 0.0016226 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + IQ*Residence*Gender
## 364.0 0.0015941 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence*Gender
## 364.1 0.0015722 counts ~ Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 364.1 0.0015628 counts ~ Occupational_aspirations*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 364.1 0.0015144 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 364.2 0.0014701 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.2 0.0014591 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 364.2 0.0014435 counts ~ Occupational_aspirations*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender
## 364.2 0.0014426 counts ~ Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.2 0.0014385 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.2 0.0014328 counts ~ IQ*Residence + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.3 0.0013850 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*Residence*Gender
## 364.3 0.0013817 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 364.3 0.0013807 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 364.3 0.0013650 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.4 0.0013529 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 364.4 0.0013453 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.4 0.0013233 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 364.4 0.0013037 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender
## 364.5 0.0012896 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 364.5 0.0012838 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 364.5 0.0012765 counts ~ Occupational_aspirations*IQ + IQ*Gender + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.5 0.0012719 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 364.5 0.0012504 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender + IQ*Residence*Gender
## 364.5 0.0012494 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 364.5 0.0012493 counts ~ Occupational_aspirations*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender
## 364.5 0.0012311 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.6 0.0012205 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 364.6 0.0012203 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + Occupational_aspirations*IQ*Residence*Gender
## 364.6 0.0012200 counts ~ Socioeconomic_status*IQ + IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender
## 364.6 0.0011950 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + IQ*Residence*Gender
## 364.6 0.0011899 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + IQ*Residence*Gender
## 364.6 0.0011724 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 364.6 0.0011707 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 364.7 0.0011363 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 364.7 0.0011318 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*IQ*Gender + Occupational_aspirations*IQ*Residence*Gender
## 364.7 0.0011281 counts ~ IQ*Residence + IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 364.7 0.0011228 counts ~ Socioeconomic_status*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*Residence*Gender
## 364.7 0.0011136 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 364.8 0.0011125 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender
## 364.8 0.0011121 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 364.8 0.0011031 counts ~ Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.8 0.0010841 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 364.8 0.0010641 counts ~ Occupational_aspirations*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 364.9 0.0010435 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender
## 364.9 0.0010304 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 364.9 0.0010297 counts ~ Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender
## 365.0 0.0010059 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender + IQ*Residence*Gender
## 365.0 0.0010036 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 365.0 0.0009984 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender
## 365.0 0.0009927 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + IQ*Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.1 0.0009578 counts ~ IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 365.1 0.0009541 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender
## 365.1 0.0009477 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.1 0.0009459 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender
## 365.1 0.0009450 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.1 0.0009449 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 365.1 0.0009202 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender + IQ*Residence*Gender
## 365.1 0.0009136 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 365.2 0.0009109 counts ~ IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender
## 365.2 0.0008983 counts ~ Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.2 0.0008947 counts ~ Socioeconomic_status*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender
## 365.2 0.0008779 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Residence
## 365.2 0.0008689 counts ~ IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 365.2 0.0008672 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 365.3 0.0008613 counts ~ Occupational_aspirations*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 365.3 0.0008411 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender
## 365.3 0.0008307 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 365.3 0.0008281 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 365.4 0.0008187 counts ~ IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 365.4 0.0008066 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender + IQ*Residence*Gender
## 365.4 0.0008064 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.4 0.0007974 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 365.4 0.0007916 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence + IQ*Residence*Gender
## 365.4 0.0007894 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + IQ*Residence*Gender
## 365.4 0.0007875 counts ~ Socioeconomic_status*IQ + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender
## 365.5 0.0007796 counts ~ Occupational_aspirations*IQ + IQ*Gender + Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 365.5 0.0007785 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.5 0.0007771 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender
## 365.5 0.0007727 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.5 0.0007568 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.5 0.0007473 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender
## 365.6 0.0007451 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.6 0.0007377 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence
## 365.6 0.0007333 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Residence
## 365.6 0.0007324 counts ~ Socioeconomic_status*IQ + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.6 0.0007294 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.7 0.0007058 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 365.7 0.0007039 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.7 0.0006985 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender + IQ*Residence*Gender
## 365.7 0.0006939 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 365.7 0.0006914 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*Residence*Gender
## 365.7 0.0006853 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence
## 365.7 0.0006839 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 365.7 0.0006828 counts ~ IQ*Residence + IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender
## 365.8 0.0006752 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 365.8 0.0006713 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender
## 365.8 0.0006678 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 365.8 0.0006661 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + IQ*Residence*Gender
## 365.8 0.0006648 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*Residence*Gender + Occupational_aspirations*IQ*Residence*Gender
## 365.8 0.0006633 counts ~ Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender
## 365.8 0.0006612 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 365.8 0.0006611 counts ~ Occupational_aspirations*IQ + IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence
## 365.8 0.0006604 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + IQ*Residence*Gender
## 365.8 0.0006583 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*IQ*Gender
## 365.8 0.0006446 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + IQ*Residence*Gender
## 365.9 0.0006410 counts ~ IQ*Residence + Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Gender
## 365.9 0.0006343 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 365.9 0.0006325 counts ~ IQ*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 365.9 0.0006315 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + IQ*Residence*Gender
## 365.9 0.0006314 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*Residence*Gender
## 365.9 0.0006309 counts ~ Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Residence*Gender + Occupational_aspirations*Socioeconomic_status*IQ*Residence
## 365.9 0.0006255 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Residence + IQ*Residence*Gender
## 365.9 0.0006254 counts ~ Occupational_aspirations*IQ + Socioeconomic_status*IQ + Socioeconomic_status*Gender + IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender
## 365.9 0.0006128 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 366.0 0.0006107 counts ~ Residence*Gender + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender
## 366.0 0.0006000 counts ~ Occupational_aspirations*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence + Socioeconomic_status*IQ*Gender + IQ*Residence*Gender
## 366.0 0.0005918 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Socioeconomic_status*IQ*Residence + Occupational_aspirations*IQ*Residence*Gender
## 366.0 0.0005886 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*IQ*Residence + Occupational_aspirations*Residence*Gender + Socioeconomic_status*IQ*Gender
## 366.1 0.0005750 counts ~ IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender + Socioeconomic_status*Residence*Gender
## 366.1 0.0005741 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 366.1 0.0005638 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 366.1 0.0005607 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*IQ*Gender + Socioeconomic_status*IQ*Gender
# now just the graphical model
gout.gr <- glmbb(counts ~ (Occupational_aspirations + Socioeconomic_status +
IQ + Residence + Gender)^5, data = exercise_6.28, graphical = TRUE)
summary(gout.gr)
##
## Results of search for graphical models with lowest AIC.
## Search was for all models with AIC no larger than min(AIC) + 10
## These are shown below.
##
## criterion weight formula
## 362.5 0.554860 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 363.8 0.282047 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 367.0 0.057695 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender
## 367.5 0.044201 counts ~ Occupational_aspirations*Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 368.9 0.022468 counts ~ Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*IQ*Gender
## 369.7 0.015164 counts ~ Occupational_aspirations*Socioeconomic_status*IQ*Residence + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 371.0 0.007967 counts ~ Occupational_aspirations*Gender + Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence
## 371.0 0.007890 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*IQ*Gender + Occupational_aspirations*Residence*Gender
## 371.0 0.007708 counts ~ Occupational_aspirations*Socioeconomic_status*Gender + Occupational_aspirations*Socioeconomic_status*IQ*Residence
More hierarchical than graphical
results.hier <- summary(gout)$results
results.graph <- summary(gout.gr)$results
nrow(results.hier)
## [1] 244
nrow(results.graph)
## [1] 9
And
min(which(cumsum(results.hier$weight) >= 0.9))
## [1] 133
min(which(cumsum(results.graph$weight) >= 0.9))
## [1] 4
133 models account for 90% of the weight among all hierarchical models less than the cutoff. 4 models account for 90% of the weight among all graphical models less than the cutoff.
We will try to interpret some of these graphs after we learn how to draw graphs.
A path in a directed graph is a sequence of edges \((n_i, n_{i + 1})\), \(i = 1\), \(\ldots,\) \(k\). Since the edges are directed, there is an implied direction. We say the path goes from \(n_1\) to \(n_{k + 1}\). For example, is a path from \(V\) to \(Z\) in the graph in Figure 7.1. (The path must go in the same direction as the arrows.)
A directed graph is called acyclic if it has no cycles, which are paths that return to their starting point. The graph in Figure 7.1 is acyclic. Directed acyclic graphs are so important that they have a well-known TLA (three-letter acronym) DAG.
In a DAG the parents of a node \(u\) are the nodes from which edges go to \(u\). The set of parents of \(u\) is denoted \(\mathop{\rm pa}(u)\). In Figure 7.1 we have \[\begin{align*} \mathop{\rm pa}(U) & = \varnothing \\ \mathop{\rm pa}(V) & = \varnothing \\ \mathop{\rm pa}(W) & = \{ V \} \\ \mathop{\rm pa}(X) & = \{ W \} \\ \mathop{\rm pa}(Z) & = \{ W, X \} \end{align*}\]
Every DAG that has nodes that are the variables in a statistical model is associated with a factorization of the joint distribution for that model into a product of marginal and conditional distributions \[ f(y) = \prod_{i \in N} f(y_i \mid y_{\mathop{\rm pa}(i)}) \] (Lauritzen (1996); Section 4.5.1). Using the parent sets we found in the preceding section, the graph in Figure 7.1 has the factorization \[\begin{equation} f(u, v, w, x, z) = f(z \mid w, x) f(x \mid w) f(w \mid v) f(v) f(u). \tag{8.1} \end{equation}\]
This agrees with the separation properties of the corresponding undirected graph discussed in Section 5 above. A general factorization, valid for any probability model would be \[\begin{align*} f(u, v, w, x, z) & = f(z \mid u, v, w, x) f(u, v, w, x) \\ & = f(z \mid u, v, w, x) f(x \mid u, v, w) f(u, v, w) \\ & = f(z \mid u, v, w, x) f(x \mid u, v, w) f(w \mid u, v) f(u, v) \\ & = f(z \mid u, v, w, x) f(x \mid u, v, w) f(w \mid u, v) f(v \mid u) f(u) \end{align*}\] Comparing this general factorization with (8.1) we see that we have \[\begin{align*} f(z \mid u, v, w, x) & = f(z \mid w, x) \\ f(x \mid u, v, w) & = f(x \mid w) \\ f(w \mid u, v) & = f(w \mid v) \\ f(v \mid u) & = f(v) \end{align*}\] which imply \[\begin{gather*} Z \perp\!\!\!\perp U, V \mid W, X \\ X \perp\!\!\!\perp U, V \mid W \\ W \perp\!\!\!\perp U \mid V \\ V \perp\!\!\!\perp U \end{gather*}\] all of which are Markov properties that can be read off the undirected graph in Figure 4.1.
DAG’s are also widely used to indicate causal relationships (Pearl, 2009; Spirtes et al., 2000). The idea is that a directed edge indicates that changes in \(V\) cause changes in \(W\).
Authorities on causal inference (Pearl, 2009; Spirtes et al., 2000) understand that correlation is not causation. But they do insist that independence implies lack of causation. (Strictly speaking, they do not even insist that, because there are tricky examples where there is independence but still causation. But generally independence is taken to imply lack of causation.)
If two variables are independent, then there cannot be a causal relationship between them (because that would induce dependence). If two variables are conditionally independent given a set \(S\) of other variables, then there cannot be a direct causal relationship. Any causal link must be indirect, the path from one to the other going through \(S\).
Direction of causality cannot be inferred from independence, conditional or unconditional. If \(U\) and \(V\) are dependent, then changes in \(U\) may cause changes in \(V\) or changes in \(V\) may cause changes in \(U\) or changes in some other variable \(W\) may cause changes in both \(U\) and \(V\).
There are two ways one can infer direction of causality. One is what is called “intervention” in the causal inference literature. It is the same thing that statisticians are talking about when they refer to controlled experiments. The other way is to simply assume that only one direction for edges makes sense (scientific sense, business sense, whatever).
In short, statistics can give you an undirected graph, but only controlled experiments or assumptions can give direction and causal interpretation of the edges.
This about drawing graphs using R. By graphs we don’t mean plots, but rather figures like Figures 4.1 and 7.1 above.
TIMTODTWI. There is an R task view on graphical models that lists 8 CRAN packages and 2 Bioconductor packages for dealing with graphical models.
In addition to all of these packages one can just use base R graphics, which is how Figures 4.1 and 7.1 were done. But the packages are perhaps easier to use.
We will just illustrate using R package network
.
We will redraw the graphs that are Figures 4.1 and 7.1
above.
R function network
in R package network
makes objects of class "network"
that can then be plotted. It wants the graph presented as an adjacency matrix
which is a matrix whose row and column indices are nodes of the graph and
the entries of the matrix are zero if there is no edge from one node to another
and one otherwise. We can use the same matrix for both directed and undirected
graphs. So we set up the matrix for Figure 2.
nodeset <- LETTERS["U" <= LETTERS & "Y" != LETTERS]
nodeset
## [1] "U" "V" "W" "X" "Z"
foo <- matrix(0, nrow = length(nodeset), ncol = length(nodeset))
rownames(foo) <- colnames(foo) <- nodeset
foo["V", "W"] <- foo["W", "X"] <- foo["W", "Z"] <- foo["X", "Z"] <- 1
foo
## U V W X Z
## U 0 0 0 0 0
## V 0 0 1 0 0
## W 0 0 0 1 1
## X 0 0 0 0 1
## Z 0 0 0 0 0
Now we can plot it.
bar <- network(foo)
plot(bar, displaylabels = TRUE)
If we want an undirected graph, we have to remake the network object.
bar <- network(foo, directed = FALSE)
plot(bar, displaylabels = TRUE)
Every time you redo your plots, the graph nodes will be in different positions. But this doesn’t matter. The nodes don’t really have positions, only connections (edges).
On the other hand, one can just draw the graph in some drawing application and include it in the Rmarkdown
idx <- min(which(cumsum(results.graph$weight) >= 0.9))
results.graph[1:idx, ]
## criterion weight formula
## 1 362.4692 0.55485965 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender
## 2 363.8225 0.28204722 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Socioeconomic_status*Gender
## 3 366.9963 0.05769458 counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence + Occupational_aspirations*Residence*Gender
## 4 367.5292 0.04420107 counts ~ Occupational_aspirations*Socioeconomic_status*IQ*Gender + Occupational_aspirations*Socioeconomic_status*Residence*Gender
foo <- results.graph$formula[1:idx]
So let’s look at one of these formulas
foo[1]
## [1] "counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender"
Now we are going to some real magic of R! R is not an ordinary computing
language, in that is knows a lot about itself. Everything in R is an
object, including R expressions. So R can take apart this formula.
First we turn this character string into a formula, and then we call
R function terms
to interpret it.
foo[1]
## [1] "counts ~ Occupational_aspirations*Socioeconomic_status*IQ + Occupational_aspirations*Socioeconomic_status*Residence*Gender"
ff <- as.formula(foo[1])
tt <- terms(ff)
names(attributes(tt))
## [1] "variables" "factors" "term.labels" "order" "intercept"
## [6] "response" "class" ".Environment"
Looks like we want term.labels
ll <- attr(tt, "term.labels")
ll
## [1] "Occupational_aspirations"
## [2] "Socioeconomic_status"
## [3] "IQ"
## [4] "Residence"
## [5] "Gender"
## [6] "Occupational_aspirations:Socioeconomic_status"
## [7] "Occupational_aspirations:IQ"
## [8] "Socioeconomic_status:IQ"
## [9] "Occupational_aspirations:Residence"
## [10] "Socioeconomic_status:Residence"
## [11] "Occupational_aspirations:Gender"
## [12] "Socioeconomic_status:Gender"
## [13] "Residence:Gender"
## [14] "Occupational_aspirations:Socioeconomic_status:IQ"
## [15] "Occupational_aspirations:Socioeconomic_status:Residence"
## [16] "Occupational_aspirations:Socioeconomic_status:Gender"
## [17] "Occupational_aspirations:Residence:Gender"
## [18] "Socioeconomic_status:Residence:Gender"
## [19] "Occupational_aspirations:Socioeconomic_status:Residence:Gender"
This is something of a mess because of hierarchicality. We really only
need the highest order terms, but the others don’t hurt. First
use R function strsplit
to get the variables
ss <- lapply(ll, strsplit, split = ":", fixed = TRUE)
head(ss)
## [[1]]
## [[1]][[1]]
## [1] "Occupational_aspirations"
##
##
## [[2]]
## [[2]][[1]]
## [1] "Socioeconomic_status"
##
##
## [[3]]
## [[3]][[1]]
## [1] "IQ"
##
##
## [[4]]
## [[4]][[1]]
## [1] "Residence"
##
##
## [[5]]
## [[5]][[1]]
## [1] "Gender"
##
##
## [[6]]
## [[6]][[1]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
ss <- lapply(ss, unlist)
ss
## [[1]]
## [1] "Occupational_aspirations"
##
## [[2]]
## [1] "Socioeconomic_status"
##
## [[3]]
## [1] "IQ"
##
## [[4]]
## [1] "Residence"
##
## [[5]]
## [1] "Gender"
##
## [[6]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
##
## [[7]]
## [1] "Occupational_aspirations" "IQ"
##
## [[8]]
## [1] "Socioeconomic_status" "IQ"
##
## [[9]]
## [1] "Occupational_aspirations" "Residence"
##
## [[10]]
## [1] "Socioeconomic_status" "Residence"
##
## [[11]]
## [1] "Occupational_aspirations" "Gender"
##
## [[12]]
## [1] "Socioeconomic_status" "Gender"
##
## [[13]]
## [1] "Residence" "Gender"
##
## [[14]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "IQ"
##
## [[15]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Residence"
##
## [[16]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Gender"
##
## [[17]]
## [1] "Occupational_aspirations" "Residence"
## [3] "Gender"
##
## [[18]]
## [1] "Socioeconomic_status" "Residence" "Gender"
##
## [[19]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Residence" "Gender"
Now we want all pairs of components of the same interaction.
There’s an R function for that: combn
in R package utils
.
cc <- lapply(ss, combn, m = 2)
## Error in FUN(X[[i]], ...): n < m
But it doesn’t like vector smaller than 2. So remove them and retry.
len.ss <- sapply(ss, length)
ss <- ss[len.ss >= 2]
ss
## [[1]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
##
## [[2]]
## [1] "Occupational_aspirations" "IQ"
##
## [[3]]
## [1] "Socioeconomic_status" "IQ"
##
## [[4]]
## [1] "Occupational_aspirations" "Residence"
##
## [[5]]
## [1] "Socioeconomic_status" "Residence"
##
## [[6]]
## [1] "Occupational_aspirations" "Gender"
##
## [[7]]
## [1] "Socioeconomic_status" "Gender"
##
## [[8]]
## [1] "Residence" "Gender"
##
## [[9]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "IQ"
##
## [[10]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Residence"
##
## [[11]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Gender"
##
## [[12]]
## [1] "Occupational_aspirations" "Residence"
## [3] "Gender"
##
## [[13]]
## [1] "Socioeconomic_status" "Residence" "Gender"
##
## [[14]]
## [1] "Occupational_aspirations" "Socioeconomic_status"
## [3] "Residence" "Gender"
cc <- lapply(ss, combn, m = 2)
cc
## [[1]]
## [,1]
## [1,] "Occupational_aspirations"
## [2,] "Socioeconomic_status"
##
## [[2]]
## [,1]
## [1,] "Occupational_aspirations"
## [2,] "IQ"
##
## [[3]]
## [,1]
## [1,] "Socioeconomic_status"
## [2,] "IQ"
##
## [[4]]
## [,1]
## [1,] "Occupational_aspirations"
## [2,] "Residence"
##
## [[5]]
## [,1]
## [1,] "Socioeconomic_status"
## [2,] "Residence"
##
## [[6]]
## [,1]
## [1,] "Occupational_aspirations"
## [2,] "Gender"
##
## [[7]]
## [,1]
## [1,] "Socioeconomic_status"
## [2,] "Gender"
##
## [[8]]
## [,1]
## [1,] "Residence"
## [2,] "Gender"
##
## [[9]]
## [,1] [,2]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "IQ"
## [,3]
## [1,] "Socioeconomic_status"
## [2,] "IQ"
##
## [[10]]
## [,1] [,2]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "Residence"
## [,3]
## [1,] "Socioeconomic_status"
## [2,] "Residence"
##
## [[11]]
## [,1] [,2]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "Gender"
## [,3]
## [1,] "Socioeconomic_status"
## [2,] "Gender"
##
## [[12]]
## [,1] [,2] [,3]
## [1,] "Occupational_aspirations" "Occupational_aspirations" "Residence"
## [2,] "Residence" "Gender" "Gender"
##
## [[13]]
## [,1] [,2] [,3]
## [1,] "Socioeconomic_status" "Socioeconomic_status" "Residence"
## [2,] "Residence" "Gender" "Gender"
##
## [[14]]
## [,1] [,2]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "Residence"
## [,3] [,4] [,5]
## [1,] "Occupational_aspirations" "Socioeconomic_status" "Socioeconomic_status"
## [2,] "Gender" "Residence" "Gender"
## [,6]
## [1,] "Residence"
## [2,] "Gender"
Getting there. Now put this whole thing in one big two-row matrix,
rr <- Reduce(cbind, cc, init = NULL)
rr
## [,1] [,2]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "IQ"
## [,3] [,4] [,5]
## [1,] "Socioeconomic_status" "Occupational_aspirations" "Socioeconomic_status"
## [2,] "IQ" "Residence" "Residence"
## [,6] [,7] [,8]
## [1,] "Occupational_aspirations" "Socioeconomic_status" "Residence"
## [2,] "Gender" "Gender" "Gender"
## [,9] [,10]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "IQ"
## [,11] [,12]
## [1,] "Socioeconomic_status" "Occupational_aspirations"
## [2,] "IQ" "Socioeconomic_status"
## [,13] [,14]
## [1,] "Occupational_aspirations" "Socioeconomic_status"
## [2,] "Residence" "Residence"
## [,15] [,16]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Socioeconomic_status" "Gender"
## [,17] [,18]
## [1,] "Socioeconomic_status" "Occupational_aspirations"
## [2,] "Gender" "Residence"
## [,19] [,20] [,21]
## [1,] "Occupational_aspirations" "Residence" "Socioeconomic_status"
## [2,] "Gender" "Gender" "Residence"
## [,22] [,23] [,24]
## [1,] "Socioeconomic_status" "Residence" "Occupational_aspirations"
## [2,] "Gender" "Gender" "Socioeconomic_status"
## [,25] [,26]
## [1,] "Occupational_aspirations" "Occupational_aspirations"
## [2,] "Residence" "Gender"
## [,27] [,28] [,29]
## [1,] "Socioeconomic_status" "Socioeconomic_status" "Residence"
## [2,] "Residence" "Gender" "Gender"
Now there is no honest way to do the last step without a loop AFAICS.
nn <- sort(unique(as.vector(rr)))
gr <- matrix(0, length(nn), length(nn))
rownames(gr) <- colnames(gr) <- nn
for (i in seq(1:ncol(rr))) gr[rr[1, i], rr[2, i]] <- 1
# symmetrize
gr <- gr + t(gr)
bar <- network(gr, directed = FALSE)
plot(bar, displaylabels = TRUE)
That’s pretty easy to interpret. IQ
is clearly separated from
Residence
and Gender
by Occupational_aspirations
and
Socioeconomic_status
. Using single letters for the variable names
\[
I \perp\!\!\!\perp R, G \mid O, S
\]
But that big clique of size four, nothing separates anything in it from
anything else. That’s the way cliques work.
Try it again. This time we systematize our calculations as a function.
formula.to.graph <- function(f) {
stopifnot(inherits(f, "formula"))
tt <- terms(f)
ll <- attr(tt, "term.labels")
ss <- lapply(ll, strsplit, split = ":", fixed = TRUE)
ss <- lapply(ss, unlist)
len.ss <- sapply(ss, length)
ss <- ss[len.ss >= 2]
cc <- lapply(ss, combn, m = 2)
rr <- Reduce(cbind, cc, init = NULL)
nn <- sort(unique(as.vector(rr)))
gr <- matrix(0, length(nn), length(nn))
rownames(gr) <- colnames(gr) <- nn
for (i in seq(1:ncol(rr))) gr[rr[1, i], rr[2, i]] <- 1
gr <- gr + t(gr)
network(gr, directed = FALSE)
}
And give it a try-out.
plot(formula.to.graph(as.formula(foo[[2]])), displaylabels = TRUE)
This is a little more interesting. Now we have
IQ
, Residence
, and Gender
all conditionally independent
given the other two variables. In math
\[\begin{align*}
I \perp\!\!\!\perp R, G & \mid O, S
\\
R \perp\!\!\!\perp I, G & \mid O, S
\\
G \perp\!\!\!\perp I, R & \mid O, S
\end{align*}\]
This is a bit annoying the \(\perp\!\!\!\perp\) symbol isn’t powerful enough to say what we want. Independence is not a pairwise property. So when three variables are conditionally indepenent given some others, it takes more than one use of symbols to get that.
Let’s look at factorizations \[\begin{align*} f(i, r, g, o, s) & = f(i \mid r, g, o, s) f(r, g, o, s) \\ & = f(i \mid o, s) f(r, g, o, s) \\ & = f(i \mid o, s) f(r \mid g, o, s) f(g, o, s) \\ & = f(i \mid o, s) f(r \mid o, s) f(g, o, s) \\ & = f(i \mid o, s) f(r \mid o, s) f(g \mid o, s) f(o, s) \end{align*}\] where the equalties on even numbered lines are just joint equals conditional times marginal and the equalities on odd numbered lines are the conditional independence properties we read off the graph. Another way to write this is \[ f(i, r, g \mid o, s) = f(i \mid o, s) f(r \mid o, s) f(g \mid o, s) \] which is what we said in words right at the begninning of our analysis of this graph \(I\), \(R\), and \(G\) are conditionally independent given \(O\) and \(S\).
Lauritzen, S. L. (1996) Graphical Models. New York: Oxford University Press.
Pearl, J. (2009) Causality: Models, Reasoning, and Inference. Second. Cambridge: Cambridge University Press.
Spirtes, P., Glymour, C. and Scheines, R. (2000) Causation, Prediction, and Search. Second. Cambridge, MA: MIT Press.