irt_ruby 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irt_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Kholodniak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-01 00:00:00.000000000 Z
11
+ date: 2026-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: matrix
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.4.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: benchmark-ips
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: memory_profiler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rake
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -66,20 +94,35 @@ dependencies:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
96
  version: '3.0'
69
- description: "IrtRuby provides implementations of the Rasch model, Two-Parameter model,
70
- \nand Three-Parameter model for Item Response Theory (IRT). \nIt allows you to estimate
71
- the abilities of individuals and the difficulties, \ndiscriminations, and guessing
72
- parameters of items based on their responses \nto a set of items. This version adds
73
- support for multiple missing data \nstrategies (:ignore, :treat_as_incorrect, :treat_as_correct),
74
- expanded \ntest coverage, and improved adaptive optimization.\n"
97
+ description: "IrtRuby is a Ruby library for Item Response Theory (IRT) analysis, \ncommonly
98
+ used in educational assessment, psychological testing, and survey research.\n\nFeatures
99
+ three core IRT models:\n• Rasch Model (1PL) - Simple difficulty-only model\n• Two-Parameter
100
+ Model (2PL) - Adds item discrimination\n• Three-Parameter Model (3PL) - Includes
101
+ guessing parameter\n\nKey capabilities:\n• Joint maximum likelihood by gradient
102
+ ascent with an adaptive learning rate\n• Convergence reporting, scale identification,
103
+ and exclusion of extreme response patterns\n• Missing data strategies (ignore, treat
104
+ as incorrect/correct)\n• Performance and convergence benchmark scripts\n\nIntended
105
+ for researchers, data scientists, and developers working with \neducational assessments,
106
+ psychological measurements, or any binary response data\nwhere item and person parameters
107
+ need to be estimated simultaneously.\n"
75
108
  email:
76
109
  - alexandrkholodniak@gmail.com
77
110
  executables: []
78
111
  extensions: []
79
112
  extra_rdoc_files: []
80
113
  files:
114
+ - CHANGELOG.md
115
+ - LICENSE.txt
116
+ - README.md
117
+ - benchmarks/README.md
118
+ - benchmarks/convergence_benchmark.rb
119
+ - benchmarks/performance_benchmark.rb
81
120
  - lib/irt_ruby.rb
121
+ - lib/irt_ruby/estimation.rb
122
+ - lib/irt_ruby/model_options_validator.rb
82
123
  - lib/irt_ruby/rasch_model.rb
124
+ - lib/irt_ruby/response_data_validator.rb
125
+ - lib/irt_ruby/response_graph.rb
83
126
  - lib/irt_ruby/three_parameter_model.rb
84
127
  - lib/irt_ruby/two_parameter_model.rb
85
128
  - lib/irt_ruby/version.rb
@@ -90,6 +133,9 @@ metadata:
90
133
  homepage_uri: https://github.com/SyntaxSpirits/irt_ruby
91
134
  source_code_uri: https://github.com/SyntaxSpirits/irt_ruby
92
135
  changelog_uri: https://github.com/SyntaxSpirits/irt_ruby/blob/main/CHANGELOG.md
136
+ documentation_uri: https://github.com/SyntaxSpirits/irt_ruby#readme
137
+ bug_tracker_uri: https://github.com/SyntaxSpirits/irt_ruby/issues
138
+ rubygems_mfa_required: 'true'
93
139
  post_install_message:
94
140
  rdoc_options: []
95
141
  require_paths:
@@ -108,6 +154,6 @@ requirements: []
108
154
  rubygems_version: 3.5.9
109
155
  signing_key:
110
156
  specification_version: 4
111
- summary: A Ruby gem that provides Rasch, 2PL, and 3PL models for Item Response Theory
112
- (IRT), with flexible missing data strategies.
157
+ summary: Rasch, 2PL, and 3PL Item Response Theory (IRT) models estimated by joint
158
+ maximum likelihood.
113
159
  test_files: []