持续调查分析的设计模式

时间:2010-02-08 17:38:10

标签: python design-patterns statistics matrix survey

我每个季度都在进行一项持续的调查。我们让人们注册(他们提供广泛的人口统计信息)。

然后我们让他们回答六个简短的问题,其中5个可能的值更差,更差,更好,更好,更好。

当然,随着时间的推移,我们不会得到相同的参与者,有些会退出,一些新的会注册,所以我正在尝试决定如何最好地构建数据库和代码(希望使用Python, Numpy?)最好地允许通过初始人口统计数据定义的各种类别进行持续收集和分析。截至目前,我们有700个左右的参与者,因此数据集不是太大。 即; 人口统计,UID,北,南,住宅。商业然后回答第一季的6个问题 对于Q2等相同,那么需要能够切片骰子并根据各种人口统计数据对季度答案的值进行平均,以查看随时间变化的趋势。

平均,分组等因每季度有不同的参与者而变得非常复杂

任何指向此类数据库设计模式的指针?和分析?这是一个稀疏矩阵吗?

3 个答案:

答案 0 :(得分:2)

关于问题的调查分析部分,我强烈建议您查看the survey package中的R(其中包含许多有用的插图,包括"A survey analysis example")。您可以在网页"survey analysis in R"上详细了解相关信息。特别是,您可能需要查看标题为database-backed survey objects的页面,其中涵盖了处理非常大的调查数据的主题。

您可以根据需要将此分析集成到Python with RPy2中。

答案 1 :(得分:1)

这是一个数据仓库。小,但是数据仓库。

您有星型架构

你有事实:

  • 响应值是度量

你有尺寸:

  • 时间段。这有很多属性(年,季,月,日,周等)。这个维度允许您积累无限的回复调查。

  • 问题。这有一些属性。通常,您的问题属于类别或产品线或焦点或其他任何内容。您可以在此维度中有很多问题“类别”列。

  • 参与者。每个参与者都有独特的属性和对人口统计类别的引用。您的人口统计类别可以 - 非常简单地 - 枚举您的人口统计组合。通过此维度,您可以随时跟踪受访者或其人口统计类别。

但是Ralph Kimball的数据仓库工具包并遵循这些设计模式。 http://www.amazon.com/Data-Warehouse-Toolkit-Complete-Dimensional/dp/0471200247
买这本书。在开始走错路之前,完全理解这一点绝对是必不可少的。

此外,由于您正在进行数据仓库。查看Stack Overflow上的所有[Data Warehousing]问题。阅读您可以找到的每个Data Warehousing BLOG。

只有一种相关的设计模式 - Star Schema 。如果你明白这一点,你就能理解一切。

答案 2 :(得分:0)

在分析中,如果您提出的六个问题可能会让您相信答案是相关的,那么请考虑首先对原始分数进行因子分析。通常比较不同地区或客户类型的因素比单独比较问题具有更多的统计效力。此外,因子得分更可能是正态分布的(它们是6个观察值的加权和),而单独的六个问题则不然。这允许您在比较因子分数时根据正态分布应用t检验。

但是,有一个警告。如果你为答案分配数值 - 1 =更糟糕,2 =更差等等,你暗示更糟糕和更差之间的距离与更差和相同之间的距离相同。这通常是不正确的 - 你可能真的不得不搞砸了“更糟糕”的投票,而只是被动搞砸可能会让你得到“更差”的分数。因此,将基数(数字)分配给序数(排序)具有自己的偏见。

每季度参与者人数不等不是问题 - 有统计t检验可以处理不相等的样本量。