二维欧氏空间中选民与候选人偏好排序嵌入的现有方法问询
Great question! What you're working on falls into the overlap of preference embedding and rank-based dimensionality reduction for voting systems, bridging computational social choice and geometric data analysis. Here are key existing methods and frameworks that align with your goal of embedding voters and candidates into a shared 2D Euclidean space:
1. Multidimensional Scaling (MDS) for Preference Data
- Metric MDS: Start by defining a dissimilarity metric between voters—for example, the Kendall tau distance, which counts how many pairwise candidate rankings two voters disagree on. Feed this dissimilarity matrix into metric MDS to embed voters into 2D space. For candidates, you can either:
- Treat them as "pseudo-voters" using their aggregate ranking profiles (e.g., how often they're ranked above other candidates) and embed them alongside real voters, or
- Use a barycentric approach like your weighted average method, where each candidate's position is a weighted centroid of the voters who ranked them highly.
- Non-metric MDS: Useful if you only care about preserving the ordinal structure of preferences (not exact dissimilarity values), which often fits voting data better.
2. Collaborative Filtering-Based Item-User Embedding
While this is widely used in recommendation systems, its core idea translates directly to your problem:
- Matrix Factorization: Represent your voting data as a preference matrix (rows = voters, columns = candidates, entries can encode rank order or binary preference signals). Use methods like SVD or probabilistic matrix factorization to decompose this matrix into low-dimensional voter and candidate embeddings. For ordinal rank data, use rank-aware loss functions (e.g., Bayesian Personalized Ranking) instead of regression losses for explicit ratings.
3. Geometric Voting Embedding Models
This is a dedicated area in computational social choice focused on spatial models of preference:
- Euclidean Preference Embedding: Optimizes for a 2D space where a voter's observed ranking of candidates matches the proximity in the space (i.e., if voter
vranksc1abovec2, then the distance fromvtoc1is less than toc2). The objective function typically maximizes the number of such consistent pairwise preferences. - Single-Peaked Preference Embedding: A constrained variant where voters' preferences are assumed to have a single "peak" (most preferred candidate) and decrease as you move away from this peak in the space. This simplifies embedding while still capturing meaningful preference structure, and can be extended to 2D from its original 1D formulation.
4. Graph-Based Embedding Techniques
Your neighborhood matrix approach aligns with graph embedding methods:
- Model your data as a bipartite graph: directed edges from voters to candidates represent preference (e.g., an edge from
vtocifcis in the top 3 ranks forv). Then use algorithms like Node2Vec or DeepWalk to embed both voters and candidates into the same 2D space, preserving the structural relationships between voters and their preferred candidates.
5. Rank-Specific Dimensionality Reduction
- RankPCA: A modified PCA algorithm designed explicitly for rank data. It operates on rank matrices to extract principal components that capture the most variance in ranking patterns. You can apply this to voter rankings to get initial voter embeddings, then derive candidate embeddings either as weighted centroids (your current approach) or by projecting aggregate candidate rank profiles onto the principal components.
Many of these methods can be combined—for example, using MDS to get initial embeddings, then refining them with a geometric voting loss function to better align with observed preferences.
内容的提问来源于stack exchange,提问作者Snochacz

