IRT模型笔记一

IRT模型笔记(一)

模型中python库函数、方法介绍:

  1. IRT引入了numpy,tqdm,scipy,EduCDM这些库
    numpy:存储和处理矩阵运算
    tqdm:python进度条库
    scipy:类似于numpy,使用了其中的stats(一个具有统计功能的库)

  2. def init_parameters(prob_num,dim)初始化函数,输入两个参数(试题矩阵,学生/试题嵌入维度)
    其中用到方法有:
    stats.norm.rvs(loc=0.75,scale=0.1,size) 产生一个符合正态分布的随机矩阵 loc均值 scale方差 size矩阵规模
    stats.uniform.rvs(size) 产生一个符合均匀分布的随机矩阵
    这个函数主要是用来初始化试题难度参数,区分度参数,以及猜测参数

  3. def init_prior_prof_distribution(dim)函数:
    stats.uninform.rvs()
    stats.multivariate_normal.pdf(矩阵,均值mean,方差cov)这是一个多维正态分布的概率密度函数,mean=np.zeros(dim)是一个维度为dim的零矩阵,cov=no.identify(dim)是一个维度为dim*dim的方形矩阵
    np.sum()如果没有参数,就是矩阵所有元素求和
    该函数是为了初始化生成两个随机矩阵,应该是用在EM算法中

  4. def get_Likelihood(a,b,c,prof,R)
    R.shape[0]矩阵第一维长度(行数) R.shape[1]矩阵第二维长度(列数)
    a试题难度参数 b试题区分度参数 c试题猜测参数
    prof是描述学生能力的矩阵
    np.expand_dims(矩阵,axis)扩展数组维度
    例子 数组a[[1 2 3][4 5 6]] 形状(2,3) 注意【】加的位置
    当axis=0时,a扩维为(1,2,3) 数组变为a【[[1 2 3][4 5 6]]】
    当axis=1时,a扩维为(2,1,3) 数组变为a[[【1 2 3】][【4 5 6】]]
    当axis=2/-1时,a扩维为(2,3,1) 数组变为a[[【1】【2】【3】][【4】【5】【6】]]
    np.sum(矩阵,axis)
    当axis为0的时候,假如是一个3维矩阵a[2][3][4],sum计算出的是一个34二维矩阵,矩阵中每一项的值来自于求和,例如0行0列的值为a[0][0][0]+a[1][0][0]
    axis=1,就是固定第二维,生成2
    4矩阵
    以次递推 end
    irt3pl自己定义的一个函数(双参数模型)
    np.exp() 以e的幂运算 np.dot()矩阵乘法运算 np.log() e为底的对数运算

  5. def update_prior()

  6. def update_irt() EM采样算法估计a b c
    以上def函数只针对本人研究的IRT模型源码,其他库里的函数基本作用介绍如上

对于扩维函数和求和函数,本人参考了两篇写的很好解释文章,引用如下:
np.expand_dims()扩展维度函数
https://blog.csdn.net/qq_37924224/article/details/119816771?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-8.no_search_linknp.sum()https://blog.csdn.net/rifengxxc/article/details/75008427

np.sum()
https://blog.csdn.net/rifengxxc/article/details/75008427

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值