Bugs in isotonic regression ?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia riproducendo i due esempi con il metodo isotonic: una x decrescente dovrebbe mantenere l’ordine corrispondente dell’output e la soluzione adattata non dovrebbe avere un errore quadratico maggiore rispetto alla soluzione con media costante. Leggi l’implementazione della regressione isotona e i relativi test esistenti, se presenti, quindi aggiungi la copertura di regressione per entrambi i casi. Il lavoro è completato quando gli input indicati producono un adattamento ordinato che minimizza l’obiettivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hello !
By testing the isotonic method from this package and comparing it with a custom implementation, I faced some strange behaviours.
First, the output seems to always be ordered, regardless of the first input arg x:
julia> isotonic(5:-1:1, 5:-1:1)
5-element Vector{Float64}:
1.0
2.0
3.0
4.0
5.0
Shouldn't it return [5.0, 4.0, 3.0, 2.0, 1.0] instead ?
Second, even when using an ordered x, it seems that the output solution is often suboptimal:
julia> y = [0.52, 0.58, -1.91, -1.12, -1.04]
julia> sol = isotonic(1:length(y), y)
5-element Vector{Float64}:
-0.8725
-0.8725
-0.8725
-0.8725
-0.8725
In this example, the output x is a worse solution than the mean of y
julia> sol_mean = fill(sum(y) / length(y), length(y))
5-element Vector{Float64}:
-0.594
-0.594
-0.594
-0.594
-0.594
julia> sum((vi - yi) ^ 2 for (vi, yi) in zip(sol, y))
5.21453125
julia> sum((vi - yi) ^ 2 for (vi, yi) in zip(sol_mean, y))
4.826719999999999
- Lingua principale
- Julia
- Stelle
- 387
- Fork
- 83
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaStats/MultivariateStats.jl
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
tagbot-manual
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
JuliaStats/MultivariateStats.jl#238 · 1 commento ·
-
Return a result even when MetricMDS does not convergeForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
JuliaStats/MultivariateStats.jl#233 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
Tutte le issue di JuliaStats/MultivariateStats.jl
Issue simili
-
enhancement good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaGPU/KernelAbstractions.jl#897 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
oscar-system/GAP.jl#1455 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
JuliaAI/MLJTransforms.jl#85 ·