Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-09-2014, 08:19   #1
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Di una serie di valori eleggere il più probabile

Ho una serie di numeri:
1
2
3
4
4.5
4.6
4.7
4.88
4.9
5
5.01
5.03
6
7
8
9
10
11
12
13
14
15

Come vedete i numeri vicini al 5 sono più probabili rispetto a tutti gli altri. Non posso fare la moda perchè comunque ogni valore ricorre una volta.

Esiste un metodo statistico che come output mi dia 5 ?

Grazie
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 09:36   #2
Daidlup
Member
 
Iscritto dal: Sep 2014
Città: Firenze
Messaggi: 143
Ciao, non esiste la moda, ma se intendi come valore più probabile il valore intero potresti far così: una volta preso in input il vettore di valori, scrivi un secondo vettore in cui ad ogni elemento sostituisci l'approssimazione per arrotondamento, così che successivamente su tale nuovo vettore puoi eseguire la moda, il tutto automatizzato da un ciclo for per esempio.
Daidlup è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 17:10   #3
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da Daidlup Guarda i messaggi
Ciao, non esiste la moda, ma se intendi come valore più probabile il valore intero potresti far così: una volta preso in input il vettore di valori, scrivi un secondo vettore in cui ad ogni elemento sostituisci l'approssimazione per arrotondamento, così che successivamente su tale nuovo vettore puoi eseguire la moda, il tutto automatizzato da un ciclo for per esempio.
Non intendo il valore intero, ma facendo ricerche su internet ho capito che il mio è un problema di clustering:
raggruppare tra loro i valori più vicini e poi fare la media del gruppo più numeroso.

Ultima modifica di das : 15-09-2014 alle 17:17.
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 17:42   #4
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
ma su cosa verte la domanda ? Ti serve un consiglio su quale linguaggio di programmazione usare ?
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 19:36   #5
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
ma su cosa verte la domanda ? Ti serve un consiglio su quale linguaggio di programmazione usare ?
No, non sul linguaggio ma proprio sull'algoritmo.
Detto con un disegno la domanda è questa:
http://i.imgur.com/fYPIjAd.png?1
I puntini sono i miei numeri. Più sono lontani più rappresentano numeri lontani tra loro. Come puoi vedere dal disegno sono vicini tra loro a gruppetti:
1.1
1.2
1.3
1.4

3.4
3.5
3.6
3.9
4.2

4.9
5.0
5.3
5.5

7.9
8
8.2
8.3

10
10.2
10.3
10.6
10.55
10.553

Quindi li posso dividere in n sottoinsiemi che nel disegno ho rappresentato come cerchi.

Come faccio a fare questa divisione in cerchi ?
Come faccio ad individuare il cerchio blu ? (Cioè quello con più puntini al suo interno ?)

Ultima modifica di das : 15-09-2014 alle 22:44.
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 20:30   #6
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
hai linkato male l'immagine, uppala su un sito esterno come http://imgur.com/ e re-pubblicala.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2014, 22:45   #7
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
hai linkato male l'immagine, uppala su un sito esterno come http://imgur.com/ e re-pubblicala.
Ma non so perchè non la mostra nonostante il tag [IMG]. Va bè comunque c'è il link

http://i.imgur.com/fYPIjAd.png?1
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 09:59   #8
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
ti interessa semplicemente determinare il picco della distribuzione di probabilità empirica associata, che non coinciderà con il valore medio né con la moda della tua seria di dati, come hai già notato.
Solo che cercando su internet il problema sembrerebbe più complicato del previsto. All'inizio pensavo fosse solo una funzioncina di quattro righe.
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 11:39   #9
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Oltretutto hai già i numeri in ordine crescente. Per "raggrupparli" basta scorrere la lista e guardare se la differenza con il numero successivo è minore di un certo valore.

Codice:
def find_cluster(list, lim)
  cluster = []
  candidate = []

  for i in 0 ... list.size
    candidate << list[i]

    if candidate.size > cluster.size
      cluster = candidate
    end

    if i < list.size - 1
      unless (list[i + 1] - list[i]) < lim
        candidate = []
      end
    end
  end

  cluster
end

list = [1, 2, 3, 4, 4.5, 4.6, 4.7, 4.88, 4.9, 5, 5.01, 5.03, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
lim = 0.1

puts find_cluster(list, lim)
Questo trova il gruppetto [4.88, 4.9, 5, 5.01, 5.03] in cui il valore centrale è proprio 5 (pura fortuna).
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 12:37   #10
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
perché più complicato del previsto? definisci un intervallo associato ad ogni valore (es, per il valore X, da X-0.5 a X+0.5, e conta il numero di occorrenze che cadono all'interno di quell'intervallo)... se il numero di occorrenze è troppo elevato puoi ripetere il procedimento solamente su quell'intervallo raffinando la stima (usando un numero maggiore di punti in quell'intervallo e contando le occorrenze in ogni sottointervallo))
Quote:
Originariamente inviato da VICIUS Guarda i messaggi
Oltretutto hai già i numeri in ordine crescente. Per "raggrupparli" basta scorrere la lista e guardare se la differenza con il numero successivo è minore di un certo valore.

Codice:
def find_cluster(list, lim)
  cluster = []
  candidate = []

  for i in 0 ... list.size
    candidate << list[i]

    if candidate.size > cluster.size
      cluster = candidate
    end

    if i < list.size - 1
      unless (list[i + 1] - list[i]) < lim
        candidate = []
      end
    end
  end

  cluster
end

list = [1, 2, 3, 4, 4.5, 4.6, 4.7, 4.88, 4.9, 5, 5.01, 5.03, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
lim = 0.1

puts find_cluster(list, lim)
Questo trova il gruppetto [4.88, 4.9, 5, 5.01, 5.03] in cui il valore centrale è proprio 5 (pura fortuna).
Complicato perchè non conosco a prescindere un intervallo minimo o il numero di cluster. Deve essere auto-adattativo
Ho trovato un algoritmo che lo fa, si chiama Self-Organising -Map. Solo che me lo devo scrivere visto che non si trovano librerie che lo contengano mi pare
das è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2014, 13:19   #11
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1374
Quote:
Originariamente inviato da das Guarda i messaggi
Complicato perchè non conosco a prescindere un intervallo minimo o il numero di cluster. Deve essere auto-adattativo
Ho trovato un algoritmo che lo fa, si chiama Self-Organising -Map. Solo che me lo devo scrivere visto che non si trovano librerie che lo contengano mi pare
A pensarci bene il mio caso è molto più semplice perchè ho una sola dimensione.
Sto elucubrando:

- se mi scelgo un punto a caso
- da lì faccio partire il raggio di un cerchio fino a quando non viene inglobato un altro punto
- creo un nuovo cerchio con centro nel baricentro dei due punti precedenti.
- lo allargo fino a trovare un altro punto
- valuto la deviazione standard delle distanze
- creo un nuovo cerchio con centro nel baricentro dei tre punti precedenti.
- e così via allargando il cerchio fino a quando la deviazione non supera una certa soglia

- riparto da un punto esterno al cerchio e mi trovo un altro gruppo

oppure di tutte le combinazioni possibili trovare quella per cui la deviazione standard in ogni gruppo è più simile possibile a quella degli altri gruppi

Boh, waiting for elucubrazioni/aiuto
das è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Draghi scuote l'Europa: 'rischio stagnaz...
NVIDIA ha comprato azioni Synopsys per 2...
BYD domina il mercato NEV cinese: nessun...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v