Índices de diversidade taxonômica (TD)
Índices para quantificar a diversidade e a composição de comunidades baseado em sistemas ecológicos
extensive_quadratic_entropy(hist)
Calcula a extensa entropia quadrática (F)
A extensa entropia quadrática (F) calcula a soma de todas as distâncias filogenéticas pareadas.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hist |
numpy
|
Histograma de abundância de espécies. |
required |
Returns:
| Type | Description |
|---|---|
float
|
A extensa entropia quadrática (F). |
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> extensive_quadratic_entropy(hist)
8
Source code in phylogenetic_indices/indices.py
def extensive_quadratic_entropy(hist: np) -> float:
"""
Calcula a extensa entropia quadrática (F)
A extensa entropia quadrática (F) calcula a soma de todas as distâncias filogenéticas pareadas.
Args:
hist: Histograma de abundância de espécies.
Returns:
A extensa entropia quadrática (F).
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> extensive_quadratic_entropy(hist)
8
"""
if not isinstance(hist, np.ndarray):
raise ValueError('Unsupported data type')
richness = species_richness(hist)
taxonomic_diversity_distancies = []
for i in range(richness):
taxonomic_distance = 0
for j in range(richness):
dist = abs(i - j)
taxonomic_distance += dist
taxonomic_diversity_distancies.append(taxonomic_distance)
return np.sum(taxonomic_diversity_distancies)
intensive_quadratic_entropy(hist)
Calcula o índice de entropia quadrática intensiva (J)
O índice de entropia quadrática intensiva (J) é a distância filogenética média entre duas espécies escolhidas aleatoriamente.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hist |
numpy
|
Histograma de abundância de espécies. |
required |
Returns:
| Type | Description |
|---|---|
float
|
O índice de entropia quadrática intensiva (J). |
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> intensive_quadratic_entropy(hist)
0.8888888888888888
Source code in phylogenetic_indices/indices.py
def intensive_quadratic_entropy(hist: np) -> float:
"""
Calcula o índice de entropia quadrática intensiva (J)
O índice de entropia quadrática intensiva (J) é a distância filogenética média entre duas espécies escolhidas aleatoriamente.
Args:
hist: Histograma de abundância de espécies.
Returns:
O índice de entropia quadrática intensiva (J).
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> intensive_quadratic_entropy(hist)
0.8888888888888888
"""
if not isinstance(hist, np.ndarray):
raise ValueError('Unsupported data type')
richness = species_richness(hist)
quadratic_entropy = extensive_quadratic_entropy(hist) / richness**2
return quadratic_entropy
species_richness(hist)
Conta o número de espécies de uma imagem com base em um histograma fornecido.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hist |
numpy
|
A entrada que representa o histograma da imagem. |
required |
Returns:
| Type | Description |
|---|---|
int
|
O número de espécies presentes no histograma. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Se o tipo de características não for suportado (não é uma array NumPy). |
Examples:
>>> import numpy as np
>>> hist = np.array([1, 2, 3, 1, 2, 3, 4])
>>> species_richness(hist)
7
Source code in phylogenetic_indices/indices.py
def species_richness(hist: np) -> int:
"""
Conta o número de espécies de uma imagem com base em um histograma fornecido.
Parameters:
hist: A entrada que representa o histograma da imagem.
Returns:
O número de espécies presentes no histograma.
Raises:
ValueError: Se o tipo de características não for suportado (não é uma array NumPy).
Examples:
>>> import numpy as np
>>> hist = np.array([1, 2, 3, 1, 2, 3, 4])
>>> species_richness(hist)
7
"""
if not isinstance(hist, np.ndarray):
raise ValueError('Unsupported data type')
return len(hist)
taxonomic_distinction(hist)
Calcula o índice de distinção taxonômica.
O índice de distinção taxonômica (∆∗) calcula a distância taxonômica média entre dois indivíduos de espécies diferentes
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hist |
numpy
|
Histograma de abundância de espécies. |
required |
Returns:
| Type | Description |
|---|---|
float
|
O índice de distinção taxonômica. |
Raises:
| Type | Description |
|---|---|
ValueError
|
Se o tipo de características não for suportado (não é uma array NumPy). |
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> taxonomic_distinction(hist)
1.2727272727272727
Source code in phylogenetic_indices/indices.py
def taxonomic_distinction(hist: np) -> float:
"""
Calcula o índice de distinção taxonômica.
O índice de distinção taxonômica (∆∗) calcula a distância taxonômica média entre dois indivíduos de espécies diferentes
Args:
hist: Histograma de abundância de espécies.
Returns:
O índice de distinção taxonômica.
Raises:
ValueError: Se o tipo de características não for suportado (não é uma array NumPy).
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> taxonomic_distinction(hist)
1.2727272727272727
"""
if not isinstance(hist, np.ndarray):
raise ValueError('Unsupported data type')
richness = species_richness(hist)
taxonomic_diversity_distancies = []
individual_number_products = []
for i in range(richness):
taxonomic_distance = 0
individual_number_product = 0
for j in range(richness):
if i < j:
dist = abs(i - j)
taxonomic_distance += dist * hist[i] * hist[j]
individual_number_product += hist[i] * hist[j]
taxonomic_diversity_distancies.append(taxonomic_distance)
individual_number_products.append(individual_number_product)
taxonomic_diversity = np.sum(taxonomic_diversity_distancies) / (
np.sum(individual_number_products)
)
return taxonomic_diversity
taxonomic_diversity(hist)
Calcula o índice de diversidade taxonômica.
O índice de diversidade taxonômica (∆) calcula a distância taxonômica média entre dois indivíduos escolhidos aleatoriamente em uma comunidade
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hist |
numpy
|
Histograma de abundância de espécies. |
required |
Returns:
| Type | Description |
|---|---|
float
|
O índice de diversidade taxonômica. |
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> taxonomic_diversity(hist)
0.7909604519774012
Source code in phylogenetic_indices/indices.py
def taxonomic_diversity(hist: np) -> float:
"""
Calcula o índice de diversidade taxonômica.
O índice de diversidade taxonômica (∆) calcula a distância taxonômica média entre dois indivíduos escolhidos aleatoriamente em uma comunidade
Args:
hist: Histograma de abundância de espécies.
Returns:
O índice de diversidade taxonômica.
Examples:
>>> import numpy as np
>>> hist = np.array([10, 20, 30])
>>> taxonomic_diversity(hist)
0.7909604519774012
"""
if not isinstance(hist, np.ndarray):
raise ValueError('Unsupported data type')
richness = species_richness(hist)
taxonomic_diversity_distancies = []
for i in range(richness):
taxonomic_distance = 0
for j in range(richness):
if i < j:
dist = abs(i - j)
taxonomic_distance += dist * hist[i] * hist[j]
taxonomic_diversity_distancies.append(taxonomic_distance)
total_number_species = np.sum(hist)
taxonomic_diversity = (
2
* np.sum(taxonomic_diversity_distancies)
/ (total_number_species * (total_number_species - 1))
)
return taxonomic_diversity