利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

这篇具有很好参考价值的文章主要介绍了利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

信效度检验

关于问卷是否需要进行问卷信效度检验,前提时你的问卷含有量表题,量表题有两种量表:李克特量表和瑟斯顿量表 ,并且只有量表题才参与信效度检验。所以,信效度检验前需要对量表每一个选项的得分数据放到独立的一列数据中。如下图所示(Excel表)
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

1.信度检验

我们说量表的信度是指量表测量结果的一致性、稳定性、也称为量表的可靠性。如果在相同条件下,运用某量表对某一个概念在不同时间上重复多次进行测量,其测量的结果保持不变,就表明该量表是可信的或具有可靠性。在SPSS中对信度的检验也叫可靠性检验,一般对预调查数据进行,用信度检验Cronbach’s a 系数来衡量,一般认为Cronbach’s a 系数大于等于0.6表面信度检验没有问题。这里我通过Python语言的方法去实现计算。

1.1 引入需要读入文件的pandas库和计算Cronbach’s a 系数的pingouin库,并读入文件

import pandas as pd
import pingouin as pg
zd_df = pd.read_excel('预调查量表题数据.xlsx',header = 0)

1.2 计算Cronbach’s 系数

#Cronbach’s 系数
result = pg.cronbach_alpha(data = zd_df)
print(result)

利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

2.效度检验

量表的效度是指量表准确地反映客观事物属性和特征的程度,也称为有效性。市场调查中效度可以理解为调查结果准确地反映调查中所要说明问题的程度。如果一个量表即具有较高的信度,也具有较高的效度,则这个量表就具有较高的内在质量。
在检验中,我们通常通过两个方法来衡量效度分别为为Bartlett’s球状检验KMO检验

2.1 Bartlett’s球状检验

检验总体变量的相关矩阵是否是单位阵;检验各个变量是否各自独立。如果不是单位矩阵,说明原变量之间存在相关性,可以进行因子分析;反之,原变量之间不存在相关性,数据不适合进行主成分分析。

chi_square_value, p_value = calculate_bartlett_sphericity(zd_df)
print("bartlett球状检验参数:\n卡方值为:{},p值为:{}".format(chi_square_value, p_value))

利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

2.2 KMO检验

检验变量间相关性和偏相关性,取值在0~1之间;KOM统计量越接近1,变量相关性越强,偏相关性越弱,因子分析效果越好,通常取值从0.6开始进行因子分析

kmo_all, kmo_model = calculate_kmo(zd_df)
print("KMO检验参数:\n", kmo_model)

利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

因子分析

因子分析是指研究从变量群中提取共性因子的统计技术。最早由英国心理学家C.E.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。因子分析可在许多变量中找出隐藏的具有代表性的因子。将相同本质的变量归入一个因子,可减少变量的数目,还可检验变量间关系的假设。
因子分析的主要目的是用来描述隐藏在一组测量到的变量中的一些更基本的,但又无法直接测量到的隐性变量
因子分析有探索性因子分析证实性因子分析之分。本次是探索性因子分析
探索性因子分析不事先假定因子与测度项之间的关系,而让数据“自己说话”。主成分分析和共因子分析是其中的典型方法。验证性因子分析假定因子与测度项的关系是部分知道的,即哪个测度项对应于哪个因子,虽然我们尚且不知道具体的系数。

1.导入所需要的库包

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib as mpl
from factor_analyzer import FactorAnalyzer
from factor_analyzer.factor_analyzer import calculate_kmo
from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity
import scipy.cluster.hierarchy as shc

2.探索因子个数

2.1.矩阵旋转前特征值、旋转前方差贡献率、旋转前方差累计贡献率


Load_Matrix = FactorAnalyzer(rotation=None, n_factors=len(zd_df.T), method='principal')
Load_Matrix.fit(zd_df)
f_contribution_var = Load_Matrix.get_factor_variance()
matrices_var = pd.DataFrame()
matrices_var["旋转前特征值"] = f_contribution_var[0]
matrices_var["旋转前方差贡献率"] = f_contribution_var[1]
matrices_var["旋转前方差累计贡献率"] = f_contribution_var[2]
matrices_var

结果
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析
总结:一般情况我们选择旋转前特征值大于1的因子,即这个探索因子个数为3,此时方差累计贡献率为0.61,通常讲方差累计贡献率需要在70%及以上,才是可以接受的结果,不然意味着问卷量表设置不够好,会影响我们因子的探索

2.2.画出碎石图,可视化 将特征值和因子个数的变化绘制成图形。
#同样的数据绘制散点图和折线图
plt.scatter(range(1, zd_df.shape[1] + 1), featValue)
plt.plot(range(1, zd_df.shape[1] + 1), featValue)
 
plt.title("Scree Plot")
plt.xlabel("Factors")
plt.ylabel("Eigenvalue")
 
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
plt.grid()  # 显示网格
plt.show()  # 显示图形

利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析
总结碎石检验是根据碎石图来决定因素数的方法。Kaiser提出,可通过直接观察特征值的变化来决定因素数。但某一个特征值较前一特征值出现较大的下降,而这个特征值值较小,其后面的的特征值变化不大,说明添加相应于该特征值的因素只能增加很少的信息,所以前几个特征值就是因抽取的公共因子数。

2.3 建立因子分析模型 采用方差最大化因子旋转方式,并查看每个变量的公因子方差、旋转后的特征值、成分矩阵和因子方差
#因子旋转
#选择方式:varimax 方差最大化
#选择固定因子为4
fa_four = FactorAnalyzer(3,rotation='varimax')
fa_four.fit(zd_df)
#查看每个变量的公因子方差数据
pd.DataFrame(fa_four.get_communalities(), index=zd_df.columns)
print("每个变量的公因子方差数据:\n", pd.DataFrame(fa_four.get_communalities(), index=zd_df.columns))
 
#查看旋转后的特征值
pd.DataFrame(fa_four.get_eigenvalues())
print("旋转后的特征值:\n", pd.DataFrame(fa_four.get_eigenvalues()))
 
#查看成分矩阵
#变量个数*因子个数
pd.DataFrame(fa_four.loadings_, index=zd_df.columns)
print("成分矩阵:\n", pd.DataFrame(fa_four.loadings_, index=zd_df.columns))
 
#查看因子方差
fa_four.get_factor_variance()
print("因子方差:\n", fa_four.get_factor_variance())

结果;
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

2.4 可视化:热力图

为了更直观的观察每个隐藏变量和哪些特征的关系比较大,进行可视化展示,为了方便取上面相关系数绝对值。利用热力图将稀疏矩阵绘制出来。

#隐藏变量可视化
df1 = pd.DataFrame(np.abs(fa_four.loadings_), index=zd_df.columns)
print("隐藏变量可视化:\n", df1)

#绘图
plt.figure(figsize=(9, 9))
ax = sns.heatmap(df1, annot=True, cmap="BuPu")
#设置y轴字体大小
ax.yaxis.set_tick_params(labelsize=15)
plt.title("Factor Analysis", fontsize="xx-large")
# 设置y轴标签
plt.ylabel("Sepal Width", fontsize="xx-large")
# 显示图片
plt.show()

利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

#由于采用较为合适的4个因子,可以将原始数据转换成4个新的特征
df2 = pd.DataFrame(fa_four.transform(zd_df))
print("转换后数据:\n", df2)

结果:
利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析

本次参考:https://blog.csdn.net/m0_64336780/article/details/127382936文章来源地址https://www.toymoban.com/news/detail-463354.html

到了这里,关于利用Python进行调查问卷的信度检验和效度检验,并对量表进行因子分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序调查问卷案例

           通过开发一个“调查问卷”的案例来掌握常用表单组件的使用,以及如何收集用户填写的表单信息提交给服务器和从服务器获取数据后显示在表单中。参考界面如图1所示。 步骤1 :新建一个微信小程序项目 步骤2 :在小程序项目的pages/index/index.json文件中设置导航栏

    2023年04月25日
    浏览(74)
  • 仿造问卷星--开发一套调查问卷设计工具(1/3)--完整流程

    一,开发前的准备 第一步,初始化项目 创建package.json 首先,新建一个空文件夹项目,在空文件上按shift键同时鼠标右击,打开命令终端窗口 第二步,安装项目依赖 Parcel 快速部署工具,官网:https://parceljs.org/docs/ Parcel是一款极速零配置WEB应用打包工具,快速、几乎零配置是

    2023年04月08日
    浏览(39)
  • 仿造问卷星--开发一套调查问卷设计工具(3/3)--完整流程

    1,定义一个结果的对象: id,name和questions分别对应问卷id,问卷名称和问卷题目。 2,结果赋值 用户点击生成问卷按钮时, 分别从id和name文本框中获取值 --赋值给resultObj 将上节课拿到的question赋值给刚刚定义的对象: 打印输出结果: json结果: 3,pretty-print-json的使用 引入

    2023年04月11日
    浏览(50)
  • 医院患者满意度调查问卷示例

    以下是一个简单的医院患者满意度调查问卷示例,供参考。请注意,实际的问卷可能需要根据医院的特定需求和目标进行定制。 个人信息(可选): 您的年龄: [填写您的年龄]岁 您的性别: [选择性别] 男性 / 女性 / 其他 1. 您在本次就诊中对医疗护理的满意度: 非常满意

    2024年02月01日
    浏览(51)
  • 求免费好用的问卷调查平台!

    在当今信息时代,了解客户需求和市场趋势对企业的发展至关重要。而问卷调查是一种常见、有效的数据收集方式。本文将介绍一款 专业好用的问卷调查工具 ——Zoho Survey。我们将从功能特点、用户体验、数据分析和安全性四个方面来探讨它为用户带来的价值。 Zoho Survey提供

    2024年02月09日
    浏览(43)
  • 调查问卷Type Form的集成

    Typeform是一家制作线上调查问卷的公司。 Muñoz 和 David Okuniev两人于2012年创作出一个更加动态、更具交互性的用户调查工具,每次只提一个问题,并且根据用户的回答为其呈现下一个问题,像和朋友间的对话一样,让用户在不知不觉中就完成了问卷。 Typeform将帮你获得有关产品

    2024年02月10日
    浏览(82)
  • 微信小程序开发 案例二 调查问卷

    第一步:主界面代码 **第二步:css样式修改 第三步:安装环境 先安装node.js node.js官网 进入官网安装稳定版本 安装完毕后在同一级创建一个空文件夹 最好都用英文文件夹名 打开新文件夹 打开命令提示符cmd 地址找到新建的文件夹 输入 npm init -y 再输入 npm install express --save 用

    2024年02月09日
    浏览(46)
  • Vue+Element UI完成新建调查问卷

    先看看效果图: 添加填空题:  添加单选题、多选题: 对新增的题目可以上移、下移、编辑、删除操作:  效果大致就是这样,实现代码:    

    2024年02月11日
    浏览(37)
  • 调查问卷平台:企业想做用户调研,怎么施行?

    用户调研是一种获取消费者需求和反馈的重要手段,可以帮助企业更好地了解自己的用户,从而优化产品设计和改善客户服务。那么,如何进行用户调研呢?下面将从几个方面介绍。 首先,需要明确调研目的,以确保调研的有效性。调研目的可以包括: 1、了解目标用户的需

    2024年02月12日
    浏览(37)
  • 【学习记录】SPSS问卷调查表分析法

    用excel将收集的问卷数据存储,并用SPSS进行数据分析 此例是将收集到的字符型数据转换为易于分析的数值型数据,将列明转换为有代表性的简明的字符数值组合 注:①字符型数据转换为数值型数据:excel中,“查找和选择”-“替换”-“全部替换” ②excel中列数据只保留数值

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包