AE 统计分析

概述

     一般常用的统计功能例如:唯一字段统计、数据行数统计、数据值求和统计等。

    1、基础统计(BaseStatistics)组件用来生成和报告统计结果。

    2、IFrequencyStatistics接口提供对用来报告频率统计的成员的访 问。

    3、IGenerateStatistics接口提供对用来生成统计结果的成员的访问。

    4、IStatisticsResults提供对用来报告统计结果的成员的访问。

    可访问的属性有Count,Sum,Maximum,Minimum,Meanm,StandardDeviation(标准差)

     DataStatistics组件允许返回统计结果及单个字段的唯一值。组件创建后,用来分析的数据通过IDataStatistics::Cursor属性,以光标形式的传入。注意ICursor的对象只能使用一次,如果要获取多个结果,应当再次创建光标。IDataStatistics是数据统计组件中唯一的接口

 

1、IDataStatistics

属性

Cursor--通过游标来生成统计表

Field--要统计的字段

UniquueCount--统计表中唯一值总数

Uniquues--唯一值枚举

Statistics-- IStatisticsResults对象,用于返回统计信息

 

2、IStatisticsResults

属性

Count--值总数

Maximum --最大值

Mean--算术平均值

Minimum--最小值

StandardDeviation--标准差

Sum--求和

 

示例:唯一字段统计,GeoDatabase没有提供DISTINCT这样的关键字进行唯一值查询,只有通过IDataStatistics::Uniquues方式来获取唯一值

 

 

public void IDataStatistics_Example(IFeatureClass featureClass)
    {
        ICursor cursor = (ICursor)featureClass.Search(null, false);

        IDataStatistics dataStatistics = new DataStatisticsClass();
        dataStatistics.Field = "PIP_SIZE";

        dataStatistics.Cursor = cursor;

        //求唯一值

        System.Collections.IEnumerator enumerator = dataStatistics.Uniquues;
        enumerator.Reset();

        while (enumerator.MoveNext())
        {
            object myObject = enumerator.Current;
            Console.WriteLine("Value - {0}", myObject.ToString());

        }

       //求算术平均值

        cursor = (ICursor)featureClass.Search(null, false);
        dataStatistics.Cursor = cursor;
        ESRI.ArcGIS.esriSystem.IStatisticsResults statisticsResults = dataStatistics.Statistics;
        Console.WriteLine("mean value - {0}", statisticsResults.Mean);

    }

 

    通过接口说明和示例可以看出,统计信息是基于数字字段的统计。

 

     另外,关于查询与统计接口,还有IQueryDef、IQueryFilterDefinition、ITable等。例子如下:

 

 //IQueryDef Example

public void IQueryDef_Example(IWorkspace workspace)

    {
        IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;
        //create query definition
        IQueryDef queryDef = featureWorkspace.CreateQueryDef();
        //provide list of tables to join
        queryDef.Tables = "datesjoin,dudatest";
        //retrieve the fields from all tables
        queryDef.SubFields = "sde.datesjoin.dt_field = sde.dudates.dt_field";
        //set up join
        queryDef.WhereClause = "datesjoin.dt_field = dudates.dt_field";

        //Create FeatureDataset. Note the use of .OpenFeatureQuery.
        //The name "MyJoin" is the name of the restult of the query def and
        //is used in place of a feature class name.
        IFeatureDataset featureDataset = featureWorkspace.OpenFeatureQuery("MyJoin", queryDef);
        //open layer to test against
        IFeatureClassContainer featureClassContainer = (IFeatureClassContainer)featureDataset;
        IFeatureClass featureClass = featureClassContainer.get_ClassByName("MyJoin");

    }

 

    //IQueryFilterDefinition PostfixClause Example

    public void IQueryFilterDefinition_PostfixClause_Example(IFeatureClass featureClass)
    {
        //this function uses the PostfixClause property to append an Order By clause to the query.
        IQueryFilter queryFilter = new QueryFilterClass();
        queryFilter.SubFields = "FULLNAME";
        queryFilter.WhereClause = "OBJECTID > 10";
        IQueryFilterDefinition queryFilterDefinition = (IQueryFilterDefinition)queryFilter;
        queryFilterDefinition.PostfixClause = "ORDER BY FULLNAME";
        IFeatureCursor featureCursor = featureClass.Search(queryFilter, true);
        int fieldIndex = featureCursor.FindField("FULLNAME");
        IFeature feature = featureCursor.NextFeature();
        while (feature != null)
        {
            Console.WriteLine("The value of the {0} field is {1)", featureCursor.Fields.get_Field(fieldIndex).Name, feature.get_Value(fieldIndex));
            feature = featureCursor.NextFeature();
        }
    }

 

 

//ITable Example

Public Void ITable_Example(IFeatureClass featureClass)

{

    ITable pTable = featureClassas ITable;

    Console.WriteLine("The Row Count is:{0}",pTable.RowCount.Tostring());

}


转自:http://blog.csdn.net/sophiasy/article/details/6050442

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AE算法是一种基于人工神经网络的算法,用于处理传感器数据的异常检测和预测。它的全称是Autoencoder,它的设计灵感来源于神经科学领域对于大脑的工作原理的研究。AE算法通过编码和解码两个过程,将输入数据进行降维压缩,再根据压缩后的数据通过解码恢复为原始数据。在这个过程中,我们可以利用芯片统计数据来训练和优化AE算法的参数。 AE算法的核心思想是通过自我学习,从输入数据中提取出其中的重要特征,并尽量忽略其中的噪声和无关信息。因此,利用芯片统计数据来训练AE算法的好处在于,我们可以利用芯片的海量数据来更准确地捕捉其中的潜在规律,从而提高AE算法的预测和检测能力。 首先,我们需要收集芯片统计数据,这些数据可以包括芯片的性能指标、温度、电压等信息。然后,我们将这些数据作为输入,通过编码过程将其转换为低维表示。在编码过程中,我们可以利用多层神经网络来提取数据中的重要特征。 接下来,我们将编码得到的低维数据通过解码过程恢复为原始的芯片统计数据。在解码过程中,我们同样可以利用多层神经网络来重建原始数据。通过对原始数据和重建数据之间的差异进行比较,我们可以评估AE算法的性能。 利用芯片统计数据训练AE算法的关键是确定合适的网络结构和优化算法。我们可以尝试不同的网络结构,例如多层感知机、卷积神经网络等,来寻找最适合芯片统计数据的结构。此外,我们还可以使用梯度下降等优化算法来调整AE算法的参数,以最小化原始数据和重建数据之间的差异。 总之,利用芯片统计数据来训练AE算法可以提高其在异常检测和预测方面的性能。这种方法可以帮助我们更好地理解和利用芯片数据中的信息,从而提高芯片设计和生产的效率和质量。 ### 回答2: AE算法是一种用于分析芯片统计数据的算法。AE算法全称为自适应估计算法(Adaptive Estimation Algorithm),它可以用来预测和估计芯片的性能、功耗等重要参数。 首先,AE算法通过收集芯片的历史数据来建立一个模型。这些历史数据包括各种性能指标、功耗数据以及其他相关的统计信息。然后,AE算法会利用这些数据进行训练,提取数据中的规律和模式,并根据这些规律和模式进行预测和估计。 使用AE算法可以帮助我们更准确地预测和估计芯片的性能和功耗。通过分析历史数据,我们可以了解到不同工作负载下芯片的性能和功耗表现。这样,在设计新的芯片或进行系统优化时,我们可以根据这些估计结果来调整设计参数,以达到我们的要求和期望。 此外,AE算法还可以通过实时监测和分析芯片的数据,及时发现异常情况。比如,当芯片的功耗突增或者性能下降时,AE算法可以及时发出警报并采取相应的措施,以避免芯片损坏或性能不佳。 综上所述,AE算法是一种用于分析芯片统计数据的算法,通过建立模型和训练来预测和估计芯片的性能和功耗。它可以帮助我们更好地了解和优化芯片的工作情况,提高芯片的性能和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值