Domanda

Voglio studiare l'impatto di 26 parametri su una variabile, e quindi determinare il 3 o 4 che devono maggiore influenza su di esso. Per questo, ho costruito una matrice di 10 x 26: 26 parametri con 10 osservazioni, e un vettore di 10 matrici contenenti la variabile voglio studiare con 10 osservazioni. Da questo, come posso determinare quali sono i 3 o 4 maggior parte delle variabili influenti sui parametri. Stavo considerando utilizzando PCA, ma non sono sicuro che sia il giusto approccio. Qualcuno mi può dare qualche direzione qui?

È stato utile?

Soluzione

Ci sono una serie di metodi per questo. Ecco un elenco:

  1. È possibile costruire un modello di regressione e osservare i p-valori dei coefficienti di ogni variabile.
  2. Pearson Correlazione
  3. Spearman Correlazione
  4. Kendall Correlazione
  5. Mutua Informazione
  6. RReliefF algoritmo
  7. Gli alberi di decisione
  8. Analisi delle Componenti Principali (che si è tentato)

ecc.

È possibile cercare altri metodi con queste parole chiave:

selezione delle funzioni, variabili importanza, classifica variabili, selezione dei parametri

Sono tutti quasi la stessa, la terminologia solo diverso in diversi campi.

Tuttavia, il problema che si deve prestare attenzione qui è "10" osservazioni sono quasi nulla. Sarà estremamente difficile fidarsi qualsiasi risultato, indipendentemente dal metodo utilizzato.

Altri suggerimenti

Aggiornamento:. Con questo dimensione del campione quasi non riesce a trovare alcuna conoscenza utile

Uno dei modi per trovare relazione uno a uno è trovare coefficiente di correlazione di due variabili casuali. La correlazione è la relazione statistica tra due variabili casuali o attributi (nel tuo caso). Tale coefficiente è un valore tra 1 e -1. Se il valore è prossimo a 1 significa che v'è una forte correlazione positiva tra le due variabili casuali. In altri mondi come il valore di uno aumenta attributi, il valore dell'altro attributo aumenta troppo. D'altro canto, se il valore è vicino a -1 significa che v'è una forte correlazione negativa tra loro i quali mezzi come valore di un attributo aumenta il valore dell'altro attributo diminuisce. Se il valore di correlazione è vicino a zero, significa che non v'è alcuna correlazione significativa tra le due variabili casuali.

Se si potesse utilizzare Python, è possibile caricare un file CSV in un oggetto panda ed eseguire il metodo corr () dei panda oggetto per ottenere il coefficiente di correlazione di due o più variabili aleatorie. Vedere il codice qui sotto (non sono riuscito a trovare la fonte di questo codice di menzione)

from string import letters
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

sns.set(style="white")

# Generate a large random dataset
rs = np.random.RandomState(33)
d = pd.DataFrame(data=rs.normal(size=(100, 26)),
                 columns=list(letters[:26]))

# Compute the correlation matrix
corr = d.corr()

# Generate a mask for the upper triangle
mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True

# Set up the matplotlib figure
f, ax = plt.subplots(figsize=(11, 9))

# Generate a custom diverging colormap
cmap = sns.diverging_palette(220, 10, as_cmap=True)

# Draw the heatmap with the mask and correct aspect ratio
sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3,
            square=True, xticklabels=5, yticklabels=5,
            linewidths=.5, cbar_kws={"shrink": .5}, ax=ax)

plt.show()

Correlazione Plot

In questo grafico si può vedere la correlazione forte o settimane tra tutte le variabili e poi scegliere quella che si trova la più significativa.

Si può provare a utilizzare il lasso che fa L1 regolarizzazione sui pesi e imposta i parametri irrilevanti a 0. Tra l'un sottoinsieme di parametri correlati, c'è solo uno sarà scegliere. Questo funziona particolarmente bene se si sospetta che ci sono multi-collinearità nel set di dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top