Code - Note 2"

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(gremes)

Load the data.

data("SeineData", package = "gremes")

head(Seine)

Generate the graph and name the nodes. Assigning names to nodes is crucial. The names of the nodes should correspond to the names of the columns in the dataset.

seg<- graph(c(1,2,
              2,3,
              2,4,
              4,5,
              5,6,
              5,7), directed = FALSE)
name_stat<- c("Paris", "2", "Meaux", "Melun", "5", "Nemours", "Sens")
seg<- set.vertex.attribute(seg, "name", V(seg), name_stat) # 

Extract the nodes for which we do not observe realizations.

tobj<- Tree(seg, Seine)
Uc<- getNoDataNodes(tobj)

Create the subsets.

subs<- Neighborhood()
subs<- subset(subs, 3, seg, Uc) # neighborhood of order three

# verify if the identifiability criterion is satisfied for every subgraph induced by a subset
is_identifiable(subs, tobj) 

# change the order of the neighborhood and verify the identifiability again
subs<- subset(subs, 2, seg, Uc) # neighborhood of order two
is_identifiable(subs, tobj)

Subsets are created on the principle of neighborhood of order two for every observed variable.

Estimate MLE Version 1

mle1<- MLE1(seg)
mle1<- estimate(mle1, Seine, subs, k_ratio=0.2)

The messages are informative. They inform you about certain things but as long as they do not stop the estimation they are not errors.

Estimate MLE Version 2

mle2<- MLE2(seg)
mle2<- estimate(mle2, Seine, subs, k_ratio=0.2)

The estimates from the two versions of the likelihood based estimators are very similar.

mle1$depParams
mle2$depParams

References



Try the gremes package in your browser

Any scripts or data that you put into this service are public.

gremes documentation built on Feb. 16, 2023, 8:06 p.m.