def test_mcmc_dina(): attrs = np.random.binomial(1, 0.5, (5, 60)) skills = np.random.binomial(1, 0.5, (1000, 5)) g = r4beta(1, 2, 0, 0.6, (1, 60)) no_s = r4beta(2, 1, 0.4, 1, (1, 60)) temp = McmcDina(attrs=attrs) yita = temp.get_yita(skills) p_val = temp.get_p(yita, guess=g, no_slip=no_s) score = np.random.binomial(1, p_val) em_dina = McmcDina(attrs=attrs, score=score, max_iter=10, burn=5) em_dina.mcmc()
def test_em_dina(): attrs = np.random.binomial(1, 0.5, (5, 60)) skills = np.random.binomial(1, 0.7, (1000, 5)) g = r4beta(1, 2, 0, 0.6, (1, 60)) no_s = r4beta(2, 1, 0.4, 1, (1, 60)) temp = EmDina(attrs=attrs) yita = temp.get_yita(skills) p_val = temp.get_p(yita, guess=g, no_slip=no_s) score = np.random.binomial(1, p_val) em_dina = EmDina(attrs=attrs, score=score) est_no_s, est_g = em_dina.em() dina_est = MlDina(guess=est_g, no_slip=est_no_s, attrs=attrs, score=score) dina_est.solve()
def test_ho_dina(): attrs = np.random.binomial(1, 0.5, (5, 60)) g = r4beta(1, 2, 0, 0.6, (1, 60)) no_s = r4beta(2, 1, 0.4, 1, (1, 60)) theta = np.random.normal(0, 1, (1000, 1)) lam00 = np.random.normal(0, 1, 5) lam11 = np.random.uniform(0.5, 3, 5) ho_dina = McmcHoDina(attrs=attrs) skills_p = McmcHoDina.get_skills_p(lam0=lam00, lam1=lam11, theta=theta) skills = np.random.binomial(1, skills_p) yita = ho_dina.get_yita(skills) p_val = ho_dina.get_p(yita, guess=g, no_slip=no_s) score = np.random.binomial(1, p_val) ho_dina_est = McmcHoDina(attrs=attrs, score=score, max_iter=10, burn=5) ho_dina_est.mcmc()
from __future__ import print_function, division, unicode_literals import numpy as np from psy import McmcDina from psy.utils import r4beta attrs = np.random.binomial(1, 0.5, (5, 60)) skills = np.random.binomial(1, 0.5, (1000, 5)) g = r4beta(1, 2, 0, 0.6, (1, 60)) no_s = r4beta(2, 1, 0.4, 1, (1, 60)) temp = McmcDina(attrs=attrs) yita = temp.get_yita(skills) p_val = temp.get_p(yita, guess=g, no_slip=no_s) score = np.random.binomial(1, p_val) em_dina = McmcDina(attrs=attrs, score=score, max_iter=10000, burn=7000) est_skills, est_no_s, est_g = em_dina.mcmc()