My data is observational data, and that's made it all kinds of ugly, and I can't decide what statistical test is needed. I have one response variable, which is categorical (Species 1, Species 2, or None). I have about a dozen explanatory variables, which are numeric (canopy cover, soil moisture content, etc.). I want to know which of the explanatory variables have a significant influence on the response variable. I cannot safely assume that these variables are independent, so I won't be using a multinomial logistic regression. I also don't want to use a principal component analysis, because I don't really care how my explanatory variables interact with each other (example, canopy cover might be correlated with soil moisture content; that's no shocker, and not really what I'm looking for; I want to know how those variables affect the presence or absence of the species). The data are not normally distributed, so that's a no on using anything that assumes normal distribution. I measured all these variables at 140 physical locations, but they are in groups of 20 points nearby each other, so I cannot assume the cases are all independent.
I am really struggling to find a statistical test that fits this situation. I'm thinking I could run a Kruskal-Wallis test comparing the response variable to each of the explanatory variables individually. Someone tell me if that's a big mathematical "no-no." Alternatively, I was thinking about running a PCA and only looking at the relationships that I am interested in (for example, if there is a statistical correlation between canopy cover and soil moisture, I don't really care; but if there is a statistical correlation canopy cover and the presence of Species 1, that is what I am looking for). Or is there another statistical analysis that fits better? Just about every test I find, my data violate at least one of the core assumptions.