Ideal point estimation is widely used to analyze and visualize political data. However, selecting the corresponding spatial model involves various trade-offs: while model-based approaches such as Item Response Theory (IRT) are based on utility functions rather than optimized for predictive accuracy, most Machine Learning (ML) alternatives struggle to generalize beyond training data when embedding sparse test responses. We introduce IXPLORE, a bounded ideal point estimation algorithm that combines a predictive fit objective with a sparsity-aware likelihood function. On five benchmark datasets spanning surveys, roll calls, and deliberation, this approach surpasses model-based and ML-based algorithms on reconstruction and imputation error - especially for users with sparse responses. Furthermore, we show that non-linear feature transforms can further reduce the reconstruction error while remaining visually interpretable. To quantify uncertainty, IXPLORE applies grid-based posterior inference on a bounded 2D latent space. Available as a Python package on PyPI, IXPLORE offers a flexible framework for constructing bounded, interpretable political maps with fast inference and strong imputation performance.
Figures & tables
Dataset
Source
Train Users
Test Users
Items
Scale
Missing
Smartvote 2019
VAA (CH)
1,912 candidates
–
75
4-Likert
0%
Smartvote 2023
VAA (CH)
1,029 candidates
1,121 voters
75
4-Likert
0%
Voteview (S117)
Roll-call (US)
102 senators
–
603
binary
5.2%
Polis (vTaiwan)
Deliberation (TW)
1,921 participants
–
197
ternary
86.9%
EVS (2017)
Survey (EU)
35,116 respondents
–
32
10-Likert
0%
Table 1: Datasets used in the experiments. All response values are rescaled to [0,1] . Where no separate test set is available, we hold out a test set from the train data.
Figure 1: IXPLORE and five reference algorithms on Smartvote 2023. Reconstruction and imputation error are reported as a function of sparsity in each of the four evaluation cells. Three points of interest are highlighted: the train reconstruction error at u=0 corresponds to embedding candidates with full data; the test reconstruction error (e.g., at v=0.6 ) corresponds to embedding voters in the same space; the test imputation error (e.g., at v=0.6 ) corresponds to predicting voters’ remaining responses.
Train Rec.
Train Imp.
Test Rec.
Test Imp.
Algorithm
MAE
ACC
MAE
ACC
MAE
ACC
MAE
ACC
Linear PCA
0.245
80.2%
0.274
76.4%
0.282
72.4%
0.301
69.1%
Logistic PCA
0.175
85.1%
0.206
80.9%
0.267
72.7%
0.289
69.5%
Kernel PCA
0.195
84.7%
0.223
80.4%
0.283
70.6%
0.304
67.4%
t-SNE
0.212
80.9%
0.239
76.7%
0.280
70.0%
0.300
67.0%
UMAP
0.210
81.1%
0.233
77.4%
0.284
69.6%
0.301
67.0%
Table 2: Performance comparison on Smartvote (2023). Each cell is the mean over all sparsity levels. Reference algorithms are listed in the top block; IXPLORE is run both with the continuous input and the binarized input ∗ . The best-performing algorithm is shown in bold , the runner-up in italics .
Figure 2: Reconstruction and imputation error of PCA on Smartvote 2023 as a function of the latent dimensionality d , averaged over all sparsity levels. The circles mark each curve’s minimum. The horizontal red lines indicate the IXPLORE performance with τ2=0.25 , PCA initialization, and T=10 iterations. Logistic PCA exceeds IXPLORE ’s training reconstruction error for d≥3 (Linear PCA for d≥21 ); neither variant reaches IXPLORE ’s training or test imputation error at any d≤74 .
Figure 3: IXPLORE embeddings of the full Smartvote 2023 candidate data at T=20 for three different priors. The reconstruction error stays stable, while the boundary fraction (share of points within 10% of the grid boundary) increases with τ2 .
Figure 4: Iteration trajectories T∈{0,1,2,5,10,20} for each prior τ2 with PCA initialization. The marker size grows with T while the first and last iteration are connected with an arrow pointing from T=0 to T=20 . ( A ) The boundary fraction and train reconstruction error at u=0 decrease over the course of iterations. ( B ) The distortion of the latent space remains stable over the course of iterations, while the test imputation error decreases (averaged over v∈{0.3,0.6,0.9} ).
Figure 5: Effect of initialization across iterations on Smartvote 2023 at τ2=0.25 . ( A ) The reconstruction MAE is reported at u=0 . ( B ) The imputation MAE is averaged over v∈{0.3,0.6,0.9} .
Figure 6: Reconstruction and imputation error on Smartvote 2023 data for the three IXPLORE feature transforms (colored) against the reference algorithms (gray).
Figure 7: Predicted probability maps for three different feature transformations of the IXPLORE model initialized with τ2=0.25 after T=10 iterations on the Smartvote 2023 data. In each panel, the item with the largest accuracy spread across feature transforms is chosen (item 32263). The dots correspond to the 1,029 candidates colored by their response to this item (orange/blue = no/yes).
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
Hyperparameter
Symbol
Default
Varied in
Prior variance
τ2
0.25
Section 5.2.1
Iterations
T
10
Section 5.2.2
Initialization
–
PCA
Section 5.2.2
Feature transform
φ
identity
Section 5.2.3
Confidence weights
Wnk
uniform
Section D.1
Weight scaling
–
False
Section D.1
Appendix
Table 3: IXPLORE hyperparameters. The defaults are used in the baseline comparison ( Section 5.1 ), while the configuration analysis ( Section 5.2 ) varies parameters as described.
Figure 8: One-dimensional slice of the two prior families at x2=0 over the grid [−L,L]2 with L=1 . ( A ) The Gaussian prior concentrates around the origin as τ2 shrinks. ( B ) The log-barrier prior is flat in the interior and vanishes at the grid boundary for larger α . Both priors are symmetric in x1 and x2 .
nobs
MAP
Posterior mean
Full posterior
5
0.2313
0.2255
0.2439
10
0.2111
0.2067
0.2190
15
0.2023
0.1983
0.2078
30
0.1934
0.1905
0.1961
45
0.1915
0.1894
0.1933
60
0.1894
0.1878
0.1907
Appendix
Table 4: Held-out MAE on Smartvote 2023 by point estimator and number of observed answers, at the default configuration ( τ2=0.25 , T=10 ). Best per row in bold .
Boundary frac.
Recon. MAE
Recon. Acc.
τ2
MAP
Mean
MAP
Mean
MAP
Mean
0.05
0.000
0.000
0.1824
0.1804
0.836
0.836
0.1
0.000
0.000
0.1823
0.1804
0.836
0.836
0.25
0.006
0.000
0.1820
0.1805
0.836
0.836
0.5
0.045
0.000
0.1815
0.1806
0.836
0.836
1
0.088
0.000
0.1811
0.1807
0.836
0.836
Appendix
Table 5: Boundary fraction (share of embeddings within 5% of the grid edge) and train reconstruction MAE / accuracy on Smartvote 2023, per prior variance with a model retrained at each τ2 ( T=10 ), for the MAP and posterior-mean estimators.
Figure 9: Sampling strategies on Smartvote 2023 as a function of the number of observed answers. ( A ) The MAE is computed between each method’s per-item sample mean and the true answer on the unobserved items, for Rasch, posterior, and uniform-random sampling, with the deterministic posterior-mean prediction for reference. ( B ) The mean per-item sample standard deviation on the unobserved items is reported; higher values indicate more diverse samples.
Figure 10: Posterior trajectory and convergence on Smartvote 2023. ( A ) The test user whose final posterior mean lies furthest from the origin is shown, fitted at τ2=0.25 . The contour is the posterior density after the user has answered k=15 of K=75 items; black dots and the connecting line trace the running posterior mean at every k in answer order; the dashed ellipse is the 1σ contour of the moment-matched Gaussian fit to the final posterior. ( B ) The CDF of the smallest k at which the running posterior mean enters the final 1σ ellipse is shown, evaluated over all 1,121 test users, for the tightest ( τ2=0.05 ) and weakest ( τ2=106 ) priors in our sweep. Dotted lines mark the 50% and 95% crossings.
Train Rec.
Train Imp.
Test Rec.
Test Imp.
Algorithm
MAE
ACC
MAE
ACC
MAE
ACC
MAE
ACC
Linear PCA
0.239
80.0%
0.265
76.6%
0.234
81.1%
0.260
78.1%
Logistic PCA
0.176
85.0%
0.207
80.5%
0.212
80.8%
0.236
77.8%
Kernel PCA
0.199
84.0%
0.227
79.6%
0.232
79.4%
0.256
76.2%
t-SNE
0.213
80.8%
0.239
76.5%
0.221
79.7%
0.242
76.6%
UMAP
0.207
81.1%
0.228
77.6%
0.228
78.4%
0.245
76.1%
Appendix
Table 6: Performance comparison on Smartvote (2019). Each cell is the mean over all sparsity levels. Reference algorithms are listed in the top block; IXPLORE is run both with the continuous input and the binarized input ∗ . The best-performing algorithm is shown in bold , the runner-up in italics .
Train Rec.
Train Imp.
Test Rec.
Test Imp.
Algorithm
MAE
ACC
MAE
ACC
MAE
ACC
MAE
ACC
Linear PCA
0.281
82.4%
0.307
78.5%
0.282
81.4%
0.300
79.3%
Logistic PCA
0.178
88.9%
0.240
80.9%
0.253
81.2%
0.271
79.1%
Kernel PCA
0.259
85.2%
0.297
79.2%
0.274
82.0%
0.289
79.9%
t-SNE
0.272
82.2%
0.313
75.1%
0.271
82.6%
0.290
79.2%
UMAP
0.281
82.0%
0.315
74.9%
0.324
75.5%
0.335
73.1%
Appendix
Table 7: Performance comparison on Polis (vTaiwan). Each cell is the mean over all sparsity levels. Reference algorithms are listed in the top block; IXPLORE is run both with the continuous input and the binarized input ∗ . The best-performing algorithm is shown in bold , the runner-up in italics .
Train Rec.
Train Imp.
Test Rec.
Test Imp.
Algorithm
MAE
ACC
MAE
ACC
MAE
ACC
MAE
ACC
Linear PCA
0.231
90.6%
0.320
82.9%
0.267
90.9%
0.318
89.9%
Logistic PCA
0.053
96.8%
0.082
93.6%
0.190
84.7%
0.226
81.8%
Kernel PCA
0.121
95.2%
0.169
90.9%
0.192
85.1%
0.222
81.7%
t-SNE
0.124
95.1%
0.183
89.0%
0.243
77.4%
0.297
71.5%
UMAP
0.143
93.6%
0.208
87.0%
0.124
89.7%
0.140
88.3%
Appendix
Table 8: Performance comparison on Voteview (S117). Each cell is the mean over all sparsity levels. Reference algorithms are listed in the top block; IXPLORE is run both with the continuous input and the binarized input ∗ . The best-performing algorithm is shown in bold , the runner-up in italics .
Train Rec.
Train Imp.
Test Rec.
Test Imp.
Algorithm
MAE
ACC
MAE
ACC
MAE
ACC
MAE
ACC
Linear PCA
0.207
75.6%
0.230
71.3%
0.207
75.9%
0.229
71.6%
Logistic PCA
0.182
79.6%
0.240
71.2%
0.199
76.2%
0.225
71.9%
Kernel PCA
0.195
76.5%
0.226
71.5%
0.202
76.1%
0.227
71.7%
t-SNE
0.204
74.8%
0.235
70.1%
0.209
74.1%
0.231
70.7%
UMAP
0.208
74.3%
0.236
69.6%
0.205
74.6%
0.229
70.9%
Appendix
Table 9: Performance comparison on European Values Study. Each cell is the mean over all sparsity levels. Reference algorithms are listed in the top block; IXPLORE is run both with the continuous input and the binarized input ∗ . The best-performing algorithm is shown in bold , the runner-up in italics .
Figure 11: Reconstruction (solid, circles) and imputation (dashed, squares) MAE on Smartvote 2019 as a function of train sparsity u and test sparsity v . Error bars show the standard deviation across seeds.
Figure 12: Reconstruction (solid, circles) and imputation (dashed, squares) MAE on Smartvote 2023 as a function of train sparsity u and test sparsity v . Error bars show the standard deviation across seeds.
Figure 13: Reconstruction (solid, circles) and imputation (dashed, squares) MAE on Voteview as a function of train sparsity u and test sparsity v . Error bars show the standard deviation across seeds.
Figure 14: Reconstruction (solid, circles) and imputation (dashed, squares) MAE on Polis as a function of train sparsity u and test sparsity v . Error bars show the standard deviation across seeds.
Figure 15: Reconstruction (solid, circles) and imputation (dashed, squares) MAE on EVS as a function of train sparsity u and test sparsity v . Error bars show the standard deviation across seeds.
Figure 16: Latent-geometry diagnostics on Smartvote 2023 across test-time sparsity v , trained with uniform weights and PCA initialization, τ2=0.25 and T=10 ; weights are passed at inference time only. The color distinguishes the three weight schedules; line style distinguishes disabled and enabled weight-scaling. ( A ) The test imputation error as a function of test-time sparsity. ( B ) The boundary fraction corresponds to the share of test users within 10% of the grid boundary. ( C ) The distortion of the trained latent space is computed by re-embedding synthetic users with uniform weights.
Test Rec.
Test Imp.
Latent geometry
Scaling
Weights
MAE
ACC
MAE
ACC
Spread
BF
DIS
Disabled
Uniform
0.229
77.5%
0.261
72.3%
0.109
0.0%
0.207
Disabled
Provided
0.228
77.5%
0.260
72.4%
0.119
0.1%
0.207
Disabled
Extreme
0.228
77.3%
0.260
72.4%
0.136
0.4%
0.207
Enabled
Uniform
0.226
77.8%
0.263
72.1%
0.156
3.0%
0.108
Enabled
Provided
0.225
77.7%
0.262
72.2%
0.166
3.3%
0.108
Appendix
Table 10: Confidence-weights summary on Smartvote 2023. The model is trained once on candidates with uniform weights (PCA initialization, τ2=0.25 , T=10 iterations, grid resolution R=100 ); each row is an inference-time configuration of weight scaling and weight schedule. Cells are averaged across sparsity levels and seeds. The first four metric columns report test reconstruction and imputation error; the last three are latent-geometry diagnostics: the spread as the total variance of the embedding, the boundary fraction (BF), and the distortion (DIS). Best in column bold , runner-up in italics .
Figure 17: Distortion of the trained latent space on Smartvote 2023 across test-time sparsity v∈{0,0.3,0.6,0.9} (columns) with weight scaling disabled (top row) and enabled (bottom row). Synthetic users sampled on a 30×30 grid have a fraction 1−v of their predicted answers retained and are re-embedded. Each arrow points from a synthetic user’s grid position to its re-embedded position; the inset reports the mean and standard deviation of the displacement ∥x^−x∥ over the grid.